GCC/G++宏用于区分Linux和Macros?
发布于 2010-04-02 16:38:35
下一次在平台上检查GCC支持的预定义宏时,使用标志-dM运行预处理器。它将列出系统上所有可用的预定义宏。例如:
$ touch dummy.hxx
$ cpp -dM ./dummy.hxx
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435e-38F
#define __CHAR_BIT__ 8
#define __WCHAR_MAX__ 2147483647
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __FLT_EVAL_METHOD__ 0
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __SHRT_MAX__ 32767
#define __LDBL_MAX__ 1.18973149535723176502e+4932L
#define __UINTMAX_TYPE__ long unsigned int
#define __linux 1
#define __unix 1
#define __linux__ 1
...发布于 2010-04-02 09:49:10
发布于 2010-04-02 10:21:32
如果必须的话,用__APPLE__宏检测OSX。如果可以的话,最好使用configure来检测特性,但并不是所有的功能都是这样工作的。
https://stackoverflow.com/questions/2565979
复制相似问题