> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Definições de pré-processador do GDK no XBOX

> Definições de pré-processador do Microsoft Game Development Kit no XBOX

Este artigo lista as definições de pré-processador específicas do Microsoft Game Development Kit (GDK) no XBOX.

| Define de pré-processador | Descrição |
| - | - |
| \_GAMING\_XBOX | O define oficial para XBOX One ou XBOX Series X\|S. #ifdef \_GAMING\_XBOX // Microsoft Game Development Kit (GDK) on XBOX. ... |
| \_GAMING\_XBOX\_XBOXONE | O define indica a compilação com o GDK no XBOX One. |
| \_GAMING\_XBOX\_SCARLETT | O define indica a compilação com o GDK no XBOX Series X\|S. |
| \_GAMING\_DESKTOP | O define indica a compilação no PC com o GDK. |
| \_M\_X64, \_M\_IX86, \_M\_ARM64, and \_M\_ARM | Ao escrever código específico da arquitetura do processador, e não da plataforma, use esses defines. Para o XBOX 360, o define equivalente é \_M\_PPCBE. \_M\_AMD64 é um alias de \_M\_X64 e era o nome original. Ele está sendo descontinuado em favor de \_M\_X64. Não use os defines herdados do Windows, como *X86* e *AMD64*. |
| WINAPI\_FAMILY | Os cabeçalhos da plataforma Microsoft fazem uso extensivo das macros de família e de partição do Windows definidas em winapifamily.h. Lembre-se de que as partições podem mudar (e de fato mudam entre o Windows 8.0 SDK e o Windows 8.1 SDK). Também são adicionados novos valores de PARTITION e FAMILY ao longo do tempo. O código cliente nunca deve usar diretamente os valores de PARTITION, a macro WINAPI\_FAMILY\_PARTITION nem a macro WINAPI\_FAMILY\_ONE\_PARTITION. É razoável que o código cliente procure valores específicos de WINAPI\_FAMILY. A versão do winapifamily.h do Windows 8.1 SDK tem um bloco de comentários ampliado que aborda esse uso. |

Use as definições de pré-processador a seguir para código do Microsoft Game Development Kit (GDK) no XBOX.

```cpp theme={null}
#ifdef _GAMING_XBOX
// GDK on Xbox
```

```cpp theme={null}
#ifdef _GAMING_XBOX_SCARLETT
// Xbox Series X|S hardware
#elif _GAMING_XBOX_ONE
// Xbox One hardware
```

Quando você compila usando o Microsoft Game Development Kit (GDK), as regras do Microsoft Build do ambiente de desenvolvimento integrado (IDE) do Visual Studio definem automaticamente `_GAMING_XBOX` e `WINAPI_FAMILY=WINAPI_FAMILY_GAMES`. Os desenvolvedores que não usam o IDE do Visual Studio para compilar com o Microsoft Game Development Kit (GDK) precisam fornecer esses valores na linha de comando do compilador.

## Gaming.Xbox.XboxOne.x64

```
/D_GAMING_XBOX /D_GAMING_XBOX_XBOXONE /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES  
```

## Gaming.Xbox.Scarlett.x64

```
/D_GAMING_XBOX /D_GAMING_XBOX_SCARLETT /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES  
```

## Gaming.Desktop.x64

```
/D_GAMING_DESKTOP /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
```

> Esses defines também se aplicam às plataformas x64 'clássicas' quando você usa o Microsoft Game Development Kit.

Ao escrever código multiplataforma da Microsoft, você pode usar a construção a seguir.

```cpp theme={null}
    #if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
    // This code is for Win32 desktop apps.
    #elif WINAPI_FAMILY == WINAPI_FAMILY_GAMES
    // This code is for the Microsoft Game Development Kit (GDK) (could also use _GAMING_XBOX if only targeting Xbox).
    #elif WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
    // This code is for Windows phone 8.x.
    #elif WINAPI_FAMILY == WINAPI_FAMILY_APP
    // This code is for Microsoft Store apps for 8.x.
    #elif WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE
    // This code is for Xbox One Game OS/XDK.
    #elif WINAPI_FAMILY == WINAPI_FAMILY_TV_APP
    // This code is for Xbox One System OS/ADK.
    #else
    #error Unknown WINAPI_FAMILY value
    #endif  
```


## Related topics

- [Visual Studio (conteúdo)](/pt-BR/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [Configurar o Visual Studio para XBOX Series X|S e XBOX One](/pt-BR/tools/tools-console/visualstudio/vs-cross-gen.md)
- [Visual Studio para desenvolvimento para console](/pt-BR/tools/tools-console/visualstudio/visualstudio.md)
- [Recomendações de opções do compilador e do vinculador do Visual C++](/pt-BR/tools/tools-console/visualstudio/compiler-switch-recommendations.md)
- [Modelos de projeto no Visual Studio para o desenvolvimento de jogos para PC](/pt-BR/tools/tools-pc/visualstudio/gr-vs-templates.md)
