如何在 C++Builder 中有条件地编译不同平台的代码?

How to conditionally compile code for different platforms in C++Builder?

C++Builder中Android、iOS、Win32、Win64的平台条件定义是什么?我只找到了 Delphi.

的例子

在此 help page 上记录了所谓的清单常量。我在这里列出的平台:

┌─────────────┬───────┬──────────────────────────────┐
│ Macro       │ Value │ Description                  │
├─────────────┼───────┼──────────────────────────────┤
│ _Windows    │ 1     │ Windows platform             │
├─────────────┼───────┼──────────────────────────────┤
│ __WIN32__   │ 1     │ 32-bit Windows platform      │
├─────────────┼───────┼──────────────────────────────┤
│ _WIN64      │ 1     │ 64-bit Windows platform      │
├─────────────┼───────┼──────────────────────────────┤
│ __arm__     │       │ 32-bit ARM compiler          │
├─────────────┼───────┼──────────────────────────────┤
│ __arm64__   │       │ 64-bit ARM64 compiler        │
├─────────────┼───────┼──────────────────────────────┤
│ __APPLE__   │       │ Apple platform               │
├─────────────┼───────┼──────────────────────────────┤
│ __MACH__    │       │ MAC OSX platform             │
├─────────────┼───────┼──────────────────────────────┤
│ __ANDROID__ │       │ Android platform             │
└─────────────┴───────┴──────────────────────────────┘

这些宏是编译器固有的,因此它们没有要包含的头文件。一个例子:

#if _Windows
  // Windows platform
#elif __APPLE__
  // Apple platform
#elif __ANDROID__
  // Android platform
#else
  #error Not a supported platform
#endif