如何在编译时检查编译器?

时间:2011-11-17 08:06:13

标签: visual-c++ gcc

如果我要禁用编译器特有的警告说VC ++并运行它:

#pragma warning( disable : xxxx )

在comeau或g ++上,我如何确保预处理器不会被执行呢?

2 个答案:

答案 0 :(得分:2)

要检测MSVC编译器,您可以看到_MSC_VER是否已定义,因此您可以执行类似

的操作
#ifdef _MSC_VER
#pragma warning( disable : xxxx )
#endif

Predefined Macros提供有关预定义VS宏的信息

答案 1 :(得分:2)

有关宏的列表,请参阅this resource以确定正在使用的编译器。使用它们如下(对于MS VC):

#ifdef _MSC_VER
#pragma warning( disable : xxxx )
#endif