> ## 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.

# Définitions de préprocesseur du GDK sur XBOX

> Définitions de préprocesseur du Microsoft Game Development Kit sur XBOX

Cet article répertorie les définitions de préprocesseur propres au Microsoft Game Development Kit (GDK) sur XBOX.

| Définition de préprocesseur | Description |
| - | - |
| \_GAMING\_XBOX | Définition officielle pour XBOX One ou XBOX Series X\|S. #ifdef \_GAMING\_XBOX // Microsoft Game Development Kit (GDK) on XBOX. ... |
| \_GAMING\_XBOX\_XBOXONE | Cette définition indique une génération avec le GDK sur XBOX One. |
| \_GAMING\_XBOX\_SCARLETT | Cette définition indique une génération avec le GDK sur XBOX Series X\|S. |
| \_GAMING\_DESKTOP | Cette définition indique une génération sur PC avec le GDK. |
| \_M\_X64, \_M\_IX86, \_M\_ARM64 et \_M\_ARM | Utilisez ces définitions lorsque vous écrivez du code propre à l'architecture du processeur plutôt qu'à la plateforme. Pour XBOX 360, la définition équivalente est \_M\_PPCBE. \_M\_AMD64 est un alias de \_M\_X64 et en était le nom d'origine; il est progressivement abandonné au profit de \_M\_X64. N'utilisez pas les définitions héritées de Windows, telles que *X86* et *AMD64*. |
| WINAPI\_FAMILY | Les en-têtes de la plateforme Microsoft utilisent abondamment les macros de famille et de partition Windows définies dans winapifamily.h. N'oubliez pas que les partitions peuvent changer (et ont effectivement changé entre le SDK Windows 8.0 et le SDK Windows 8.1). De nouvelles valeurs PARTITION et FAMILY sont aussi ajoutées au fil du temps. Le code client ne doit jamais utiliser directement les valeurs PARTITION, la macro WINAPI\_FAMILY\_PARTITION ou la macro WINAPI\_FAMILY\_ONE\_PARTITION. Il est raisonnable que le code client recherche des valeurs spécifiques de WINAPI\_FAMILY. La version de winapifamily.h du SDK Windows 8.1 comporte un bloc de commentaires étendu qui couvre cet usage. |

Utilisez les définitions de préprocesseur suivantes pour le code du Microsoft Game Development Kit (GDK) sur 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
```

Lorsque vous effectuez une génération avec le Microsoft Game Development Kit (GDK), les règles Microsoft Build de l'environnement de développement intégré (IDE) Visual Studio définissent automatiquement `_GAMING_XBOX` et `WINAPI_FAMILY=WINAPI_FAMILY_GAMES`. Les développeurs qui n'utilisent pas l'IDE Visual Studio pour générer avec le Microsoft Game Development Kit (GDK) doivent fournir ces valeurs sur la ligne de commande du compilateur.

## 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
```

> Ces définitions s'appliquent aussi aux plateformes x64 « classiques » lorsque vous utilisez le Microsoft Game Development Kit.

Lorsque vous écrivez du code Microsoft multiplateforme, vous pouvez utiliser la construction suivante.

```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 (sommaire)](/fr-CA/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [Visual Studio pour le développement sur console](/fr-CA/tools/tools-console/visualstudio/visualstudio.md)
- [Utiliser Clang/LLVM avec le GDK](/fr-CA/tools/tools-pc/visualstudio/gr-vs-clang.md)
- [Modèles de projet dans Visual Studio pour le développement de jeux sur PC](/fr-CA/tools/tools-pc/visualstudio/gr-vs-templates.md)
- [Configurer Visual Studio pour XBOX Series X|S et XBOX One](/fr-CA/tools/tools-console/visualstudio/vs-cross-gen.md)
