在阅读各种C和C++源时,我遇到了两个宏__APPLE__
和__OSX__
.我发现__OSX__
在各种代码中都有大量使用,尤其是那些源于*BSD
系统的代码.
然而,有时我发现仅测试__OSX__
是不够的,我必须用__APPLE__
个宏完成测试.
这Porting Command Line Unix Tools to Mac OS X本指南规定了__APPLE__
,另外还有__APPLE_CC__
,但not提到了__OSX__
.
Porting from GCC指南说:
- 使用
#ifdef __GNUC__
包装任何特定于GCC的代码.- 使用
#ifdef __APPLE_CC__
包装任何特定于Mac OS X的代码.
再说一次,没有提到__OSX__
个宏.
Mac OS X平台和XCode开发环境中预定义了哪些宏,用于区分C/C++程序中特定于OSX的代码?
__OSX__
宏定义在哪里?是*BSD
宏吗?