繁体   English   中英

打印c ++编译器名称

[英]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

使用boost信息宏

#include  <boost/config.hpp> 

#ifdef BOOST_CLANG

printf("Successfully changed to clang\n");

#endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM