首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC/G++宏用于区分Linux和Macros?

GCC/G++宏用于区分Linux和Macros?
EN

Stack Overflow用户
提问于 2010-04-02 09:46:28
回答 4查看 40.3K关注 0票数 40

GCC/G++宏用于区分Linux和Macros?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-02 16:38:35

下一次在平台上检查GCC支持的预定义宏时,使用标志-dM运行预处理器。它将列出系统上所有可用的预定义宏。例如:

代码语言:javascript
复制
$ 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
...
票数 96
EN

Stack Overflow用户

发布于 2010-04-02 09:49:10

与平台名称相比,我更倾向于测试功能可用性。尝试使用

否则,这就是一个全面的平台列表定义

看看这一页也用于定义编译器、库、体系结构和设备。

票数 12
EN

Stack Overflow用户

发布于 2010-04-02 10:21:32

如果必须的话,用__APPLE__宏检测OSX。如果可以的话,最好使用configure来检测特性,但并不是所有的功能都是这样工作的。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2565979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档