include/platform.h

1 ファイル

1.1 include/platform.h

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

ビルド対象の OS とプロセッサアーキテクチャを検出し、統一的なマクロを定義します。

1.1.0.1 プラットフォーム検出マクロ

検出されたプラットフォームに応じて、以下のマクロを定義します。

プラットフォーム 識別マクロ 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 等を区別しています。

1.1.0.2 アーキテクチャ検出マクロ

検出されたアーキテクチャに応じて、以下のマクロを定義します。

アーキテクチャ 識別マクロ 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.

1.1.1 作者

c-modernization-kit sample team

1.1.2 日付

2025/11/22

2 定数、マクロ

2.1 PLATFORM_WINDOWS

#define PLATFORM_WINDOWS

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

2.2 PLATFORM_LINUX

#define PLATFORM_LINUX

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

2.3 PLATFORM_MACOS

#define PLATFORM_MACOS

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

2.4 PLATFORM_APPLE_OTHER

#define PLATFORM_APPLE_OTHER

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

2.5 PLATFORM_UNKNOWN

#define PLATFORM_UNKNOWN

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

2.6 PLATFORM_NAME

#define PLATFORM_NAME         "name"

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

2.7 ARCH_X64

#define ARCH_X64

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

2.8 ARCH_X86

#define ARCH_X86

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

2.9 ARCH_ARM64

#define ARCH_ARM64

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

2.10 ARCH_ARM

#define ARCH_ARM

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

2.11 ARCH_UNKNOWN

#define ARCH_UNKNOWN

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

2.12 ARCH_NAME

#define ARCH_NAME "name"

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