[英]Printing the c++ compiler name
我一直在使用qt creator,最近尝试将编译器从gcc更改为clang。 因为我没有得到任何信息(或者看不到它)是否有效(我正在努力理解界面)我想问一下我的c ++代码是否有办法打印出编译器,被编译。
编译器设置某些#define
来帮助解决这类问题。
在你的情况下,
#ifdef __GNUC__ //GCC
//do whatever GCC-specific stuff you need to do here
#endif
#ifdef __clang__ //clang
//do whatever clang-specific stuff you need to do here
#endif
SourceForge上的此页面显示了此类特定于编译器的#define
值的列表。
编辑:正如评论中指出的,clang设置__GNUC__
,可能__GNUC_MINOR__
和__GNUC_PATCHLEVEL__
。 你可能最好使用双重测试来确保clang不会误导你:
#if defined(__GNUC__) && !defined(__clang__)
//do whatever GCC-specific stuff you need to do here
#endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.