48 #define PLATFORM_WINDOWS
49 #define PLATFORM_LINUX
50 #define PLATFORM_MACOS
51 #define PLATFORM_APPLE_OTHER
52 #define PLATFORM_UNKNOWN
53 #define PLATFORM_NAME \
56 #if defined(_WIN32) || defined(_WIN64)
57 #define PLATFORM_WINDOWS
58 #define PLATFORM_NAME "Windows"
59 #elif defined(__linux__)
60 #define PLATFORM_LINUX
61 #define PLATFORM_NAME "Linux"
62 #elif defined(__APPLE__)
63 #include <TargetConditionals.h>
64 #if TARGET_OS_MAC && !TARGET_OS_IPHONE
65 #define PLATFORM_MACOS
66 #define PLATFORM_NAME "macOS"
68 #define PLATFORM_APPLE_OTHER
69 #define PLATFORM_NAME "Apple (non-macOS)"
72 #define PLATFORM_UNKNOWN
73 #define PLATFORM_NAME "Unknown"
83 #define ARCH_NAME "name"
85 #if defined(__x86_64__) || defined(_M_X64)
87 #define ARCH_NAME "x64"
88 #elif defined(__i386__) || defined(_M_IX86)
90 #define ARCH_NAME "x86"
91 #elif defined(__aarch64__) || defined(_M_ARM64)
93 #define ARCH_NAME "ARM64"
94 #elif defined(__arm__) || defined(_M_ARM)
96 #define ARCH_NAME "ARM"
99 #define ARCH_NAME "Unknown"
コンパイラ検出および抽象化マクロのヘッダーファイル。