在閱讀各種C和C++源代碼時,我遇到了兩個宏__APPLE__
和__OSX__
。我在各種代碼中發現大量使用__OSX__
,尤其是那些源自*BSD
系統的代碼。哪個宏用C/C++封裝Mac OS X特定代碼
但是,有時我發現只有測試__OSX__
是不夠的,我必須用__APPLE__
宏完成測試。
的Porting Command Line Unix Tools to Mac OS X導遊指定__APPLE__
,另外__APPLE_CC__
但確實不提__OSX__
。
的Porting from GCC導說:
- 使用
#ifdef __GNUC__
包裹任何特定的GCC代碼。- 使用
#ifdef __APPLE_CC__
來包裝任何Mac OS X特定的代碼。
再次,沒有提到關於__OSX__
宏。
在Mac OS X平臺和XCode開發環境中預定義了哪些宏,用於區分C/C++程序中特定於OSX的代碼?
宏定義的__OSX__
在哪裏?是否*BSD
特定的宏?
Qt甚至使用不同的定義:'Q_OS_OSX' – math 2015-08-11 14:26:53