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

# XBOX용 GDK 전처리기 정의

> XBOX용 Microsoft Game Development Kit 전처리기 정의

이 문서에서는 XBOX용 Microsoft Game Development Kit (GDK)에 특화된 전처리기 정의를 나열합니다.

| 전처리기 정의                                   | 설명                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \_GAMING\_XBOX                            | XBOX One 또는 XBOX Series X\|S를 위한 공식 정의입니다. #ifdef \_GAMING\_XBOX // Microsoft Game Development Kit (GDK) on Xbox. ...                                                                                                                                                                                                                                                                                                                   |
| \_GAMING\_XBOX\_XBOXONE                   | XBOX One의 GDK로 빌드하고 있음을 나타내는 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                     |
| \_GAMING\_XBOX\_SCARLETT                  | XBOX Series X\|S의 GDK로 빌드하고 있음을 나타내는 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                             |
| \_GAMING\_DESKTOP                         | GDK를 사용하여 PC에서 빌드하고 있음을 나타내는 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                     |
| \_M\_X64, \_M\_IX86, \_M\_ARM64, \_M\_ARM | 플랫폼이 아닌 프로세서 아키텍처에 특화된 코드를 작성할 때 이 정의를 사용하세요. XBOX 360의 경우 동등한 정의는 \_M\_PPCBE입니다. \_M\_AMD64는 \_M\_X64의 별칭이며 원래 이름이었습니다. \_M\_X64로 대체되어 사용이 중단되고 있습니다. *X86* 및 *AMD64* 같은 Windows 레거시 정의는 사용하지 마세요.                                                                                                                                                                                                                                     |
| WINAPI\_FAMILY                            | Microsoft 플랫폼 헤더는 winapifamily.h에 정의된 Windows family 및 partition 매크로를 광범위하게 사용합니다. partition은 변경될 수 있으며(실제로 Windows 8.0 SDK와 Windows 8.1 SDK 사이에 변경됨) 시간이 지남에 따라 새로운 PARTITION 및 FAMILY 값이 추가된다는 점을 기억하세요. 클라이언트 코드는 PARTITION 값, WINAPI\_FAMILY\_PARTITION 매크로 또는 WINAPI\_FAMILY\_ONE\_PARTITION 매크로를 직접 사용해서는 안 됩니다. 클라이언트 코드가 WINAPI\_FAMILY의 특정 값을 확인하는 것은 합리적입니다. Windows 8.1 SDK 버전의 winapifamily.h에는 이 사용법을 다루는 확장된 주석 블록이 있습니다. |

XBOX용 Microsoft Game Development Kit (GDK) 코드에는 다음 전처리기 정의를 사용하세요.

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

Microsoft Game Development Kit (GDK)를 사용하여 빌드할 때 Visual Studio 통합 개발 환경(IDE) Microsoft Build 규칙은 자동으로 `_GAMING_XBOX`와 `WINAPI_FAMILY=WINAPI_FAMILY_GAMES`를 정의합니다. Visual Studio IDE를 사용하지 않고 Microsoft Game Development Kit (GDK)에 대해 빌드하는 개발자는 컴파일러 명령줄에서 이러한 값을 제공해야 합니다.

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

> 이러한 정의는 Microsoft Game Development Kit을 사용할 때 '기존(classic)' x64 플랫폼에도 적용됩니다.

Microsoft 크로스 플랫폼 코드를 작성할 때는 다음과 같은 구조를 사용할 수 있습니다.

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

- [XBOX Series X|S 및 XBOX One용 Visual Studio 구성하기](/ko/tools/tools-console/visualstudio/vs-cross-gen.md)
- [Visual Studio (목차)](/ko/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [GDK에서 Clang/LLVM 사용하기](/ko/tools/tools-pc/visualstudio/gr-vs-clang.md)
- [PC 게임 개발을 위한 Visual Studio 프로젝트 템플릿](/ko/tools/tools-pc/visualstudio/gr-vs-templates.md)
- [GameInput API 버전 관리](/ko/build/core-features/common/input/overviews/input-versioning.md)
