我正在有条件地编译:
#ifdef WIN32
myVal = "Windows";
#elif __APPLE__
myVal = "Apple";
#endif
我可以在__APPLE__
块中测试一个值来测试不同版本(10.4,10.5,10.6等)吗?
答案 0 :(得分:2)
您应该使用/usr/include/AvailabilityMacros.h
宏。有关讨论,请参阅TN2064,以及此文件中的标题注释。
答案 1 :(得分:2)
如果您正在尝试检查编译器的环境,请尝试uname -v
。
具体来说,我认为您可以uname -v | sed 's/Darwin Kernel Version \([^ ]*\):.*/\1/'
获取,例如" 10.5"