Document of c-modernization-kit (util) 1.0.0
Loading...
Searching...
No Matches
platform.h File Reference

プラットフォームおよびアーキテクチャ検出マクロのヘッダーファイル。 More...

#include "compiler.h"
Include dependency graph for platform.h:

Go to the source code of this file.

Macros

#define PLATFORM_WINDOWS
 Windows の場合に定義されます。
#define PLATFORM_LINUX
 Linux の場合に定義されます。
#define PLATFORM_MACOS
 macOS の場合に定義されます。
#define PLATFORM_APPLE_OTHER
 macOS 以外の Apple プラットフォームの場合に定義されます。
#define PLATFORM_UNKNOWN
 未知のプラットフォームの場合に定義されます。
#define PLATFORM_NAME    "name"
 プラットフォーム名の文字列 ("Windows", "Linux", "macOS", "Apple (non-macOS)", "Unknown")。
#define ARCH_X64
 x86_64 アーキテクチャの場合に定義されます。
#define ARCH_X86
 x86 (32bit) アーキテクチャの場合に定義されます。
#define ARCH_ARM64
 AArch64 アーキテクチャの場合に定義されます。
#define ARCH_ARM
 ARM (32bit) アーキテクチャの場合に定義されます。
#define ARCH_UNKNOWN
 未知のアーキテクチャの場合に定義されます。
#define ARCH_NAME   "name"
 アーキテクチャ名の文字列 ("x64", "x86", "ARM64", "ARM", "Unknown")。

Detailed Description

プラットフォームおよびアーキテクチャ検出マクロのヘッダーファイル。

Author
c-modernization-kit sample team
Date
2025/11/22

ビルド対象の 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"
Note
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"

Definition in file platform.h.

Macro Definition Documentation

◆ PLATFORM_WINDOWS

#define PLATFORM_WINDOWS

Windows の場合に定義されます。

Definition at line 48 of file platform.h.

◆ PLATFORM_LINUX

#define PLATFORM_LINUX

Linux の場合に定義されます。

Definition at line 49 of file platform.h.

◆ PLATFORM_MACOS

#define PLATFORM_MACOS

macOS の場合に定義されます。

Definition at line 50 of file platform.h.

◆ PLATFORM_APPLE_OTHER

#define PLATFORM_APPLE_OTHER

macOS 以外の Apple プラットフォームの場合に定義されます。

Definition at line 51 of file platform.h.

◆ PLATFORM_UNKNOWN

#define PLATFORM_UNKNOWN

未知のプラットフォームの場合に定義されます。

Definition at line 52 of file platform.h.

◆ PLATFORM_NAME

#define PLATFORM_NAME    "name"

プラットフォーム名の文字列 ("Windows", "Linux", "macOS", "Apple (non-macOS)", "Unknown")。

Definition at line 53 of file platform.h.

◆ ARCH_X64

#define ARCH_X64

x86_64 アーキテクチャの場合に定義されます。

Definition at line 78 of file platform.h.

◆ ARCH_X86

#define ARCH_X86

x86 (32bit) アーキテクチャの場合に定義されます。

Definition at line 79 of file platform.h.

◆ ARCH_ARM64

#define ARCH_ARM64

AArch64 アーキテクチャの場合に定義されます。

Definition at line 80 of file platform.h.

◆ ARCH_ARM

#define ARCH_ARM

ARM (32bit) アーキテクチャの場合に定義されます。

Definition at line 81 of file platform.h.

◆ ARCH_UNKNOWN

#define ARCH_UNKNOWN

未知のアーキテクチャの場合に定義されます。

Definition at line 82 of file platform.h.

◆ ARCH_NAME

#define ARCH_NAME   "name"

アーキテクチャ名の文字列 ("x64", "x86", "ARM64", "ARM", "Unknown")。

Definition at line 83 of file platform.h.