プラットフォームおよびアーキテクチャ検出マクロのヘッダーファイル。
ビルド対象の OS とプロセッサアーキテクチャを検出し、統一的なマクロを定義します。
検出されたプラットフォームに応じて、以下のマクロを定義します。
| プラットフォーム | 識別マクロ | PLATFORM_NAME |
|---|---|---|
| Windows | PLATFORM_WINDOWS | “Windows” |
| Linux | PLATFORM_LINUX | “Linux” |
| macOS | PLATFORM_MACOS | “macOS” |
| Apple (非 macOS) | PLATFORM_APPLE_OTHER | “Apple (non-macOS)” |
| その他 | PLATFORM_UNKNOWN | “Unknown” |
Apple プラットフォームでは TargetConditionals.h を使用して macOS と iOS 等を区別しています。
検出されたアーキテクチャに応じて、以下のマクロを定義します。
| アーキテクチャ | 識別マクロ | ARCH_NAME |
|---|---|---|
| x86_64 | ARCH_X64 | “x64” |
| x86 (32bit) | ARCH_X86 | “x86” |
| AArch64 | ARCH_ARM64 | “ARM64” |
| ARM (32bit) | ARCH_ARM | “ARM” |
| その他 | ARCH_UNKNOWN | “Unknown” |
Copyright (C) CompanyName, Ltd. 2025. All rights reserved.
c-modernization-kit sample team
2025/11/22
#define PLATFORM_WINDOWSWindows の場合に定義されます。
#define PLATFORM_LINUXLinux の場合に定義されます。
#define PLATFORM_MACOSmacOS の場合に定義されます。
#define PLATFORM_APPLE_OTHERmacOS 以外の Apple プラットフォームの場合に定義されます。
#define PLATFORM_UNKNOWN未知のプラットフォームの場合に定義されます。
#define PLATFORM_NAME "name"プラットフォーム名の文字列 (“Windows”, “Linux”, “macOS”, “Apple (non-macOS)”, “Unknown”)。
#define ARCH_X64x86_64 アーキテクチャの場合に定義されます。
#define ARCH_X86x86 (32bit) アーキテクチャの場合に定義されます。
#define ARCH_ARM64AArch64 アーキテクチャの場合に定義されます。
#define ARCH_ARMARM (32bit) アーキテクチャの場合に定義されます。
#define ARCH_UNKNOWN未知のアーキテクチャの場合に定義されます。
#define ARCH_NAME "name"アーキテクチャ名の文字列 (“x64”, “x86”, “ARM64”, “ARM”, “Unknown”)。