5
在C++ Builder中,Android,iOS,Win32,Win64的平臺條件定義是什麼?我只找到Delphi的例子。如何在C++ Builder中有條件地編譯不同平臺的代碼?
在C++ Builder中,Android,iOS,Win32,Win64的平臺條件定義是什麼?我只找到Delphi的例子。如何在C++ Builder中有條件地編譯不同平臺的代碼?
所謂的清單常量記錄在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
謝謝,謝謝!當你找到合適的單詞進行搜索時,它會容易得多! –
不客氣! – TLama
Mac OS X是__MACH__。 (在MACH的兩邊應該是兩個下劃線,而不是粗體) –