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

Bri*_* P. 5 cross-platform c++builder conditional-compilation

C++ Builder中Android,iOS,Win32,Win64的平台条件定义是什么?我发现只有Delphi的例子.

TLa*_*ama 10

所谓的清单常量记录在此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             ?
??????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

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

#if _Windows
  // Windows platform
#elif __APPLE__
  // Apple platform
#elif __ANDROID__
  // Android platform
#else
  #error Not a supported platform
#endif
Run Code Online (Sandbox Code Playgroud)