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

# Definiciones de preprocesador de Microsoft Game Development Kit en Xbox

> Definiciones de preprocesador de Microsoft Game Development Kit en XBOX

En este artículo se enumeran las definiciones de preprocesador específicas de Microsoft Game Development Kit (GDK) en XBOX.

| Definición de preprocesador | Descripción |
| - | - |
| \_GAMING\_XBOX | La definición oficial para XBOX One o XBOX Series X\|S. #ifdef \_GAMING\_XBOX // Microsoft Game Development Kit (GDK) on XBOX. ... |
| \_GAMING\_XBOX\_XBOXONE | La definición indica que se está compilando con el GDK en XBOX One. |
| \_GAMING\_XBOX\_SCARLETT | La definición indica que se está compilando con el GDK en XBOX Series X\|S. |
| \_GAMING\_DESKTOP | La definición indica que se está compilando en PC con el GDK. |
| \_M\_X64, \_M\_IX86, \_M\_ARM64 y \_M\_ARM | Al escribir código específico de la arquitectura del procesador en lugar de la plataforma, use estas definiciones. Para XBOX 360, la definición equivalente es \_M\_PPCBE. \_M\_AMD64 es un alias de \_M\_X64 y era el nombre original. Se está eliminando gradualmente en favor de \_M\_X64. No use las definiciones heredadas de Windows, como *X86* y *AMD64*. |
| WINAPI\_FAMILY | Los encabezados de plataforma de Microsoft hacen un uso extensivo de las macros de familia y partición de Windows que se definen en winapifamily.h. Recuerde que las particiones pueden cambiar (y de hecho cambian entre el SDK de Windows 8.0 y el SDK de Windows 8.1). También se agregan nuevos valores de PARTITION y FAMILY con el tiempo. El código cliente nunca debe hacer uso directo de los valores de PARTITION, de la macro WINAPI\_FAMILY\_PARTITION ni de la macro WINAPI\_FAMILY\_ONE\_PARTITION. Es razonable que el código cliente busque valores específicos de WINAPI\_FAMILY. La versión de winapifamily.h del SDK de Windows 8.1 tiene un bloque de comentarios ampliado que cubre este uso. |

Use las siguientes definiciones de preprocesador para el código de Microsoft Game Development Kit (GDK) en 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
```

Cuando compila mediante Microsoft Game Development Kit (GDK), las reglas de Microsoft Build del entorno de desarrollo integrado (IDE) de Visual Studio definen automáticamente `_GAMING_XBOX` y `WINAPI_FAMILY=WINAPI_FAMILY_GAMES`. Los desarrolladores que no usen el IDE de Visual Studio para compilar con Microsoft Game Development Kit (GDK) deben proporcionar estos valores en la línea de comandos del 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
```

> Estas definiciones también se aplican a las plataformas x64 "clásicas" cuando usa Microsoft Game Development Kit.

Cuando escriba código multiplataforma de Microsoft, puede usar la siguiente construcción.

```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 (contenido)](https://docs.xbox.com/es/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [Uso de Clang con Microsoft Game Development Kit (GDK)](https://docs.xbox.com/es/tools/tools-pc/visualstudio/gr-vs-clang.md)
- [Plantillas de proyecto en Visual Studio para el desarrollo de juegos de PC](https://docs.xbox.com/es/tools/tools-pc/visualstudio/gr-vs-templates.md)
- [Acceso a los recursos de desarrollo del Microsoft Game Development Kit (GDK)](https://docs.xbox.com/es/home/onboarding-access/access-resources.md)
- [Uso de Clang con Microsoft Game Development Kit (GDK) para consolas](https://docs.xbox.com/es/tools/tools-console/visualstudio/vs-clang.md)
