【问题标题】:How to check compiler at compile time?如何在编译时检查编译器?
【发布时间】:2011-11-17 08:06:12
【问题描述】:

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

#pragma warning( disable : xxxx )

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

【问题讨论】:

  • 你的意思是不是在编译时:IMO 标题具有误导性。

标签: visual-c++ gcc


【解决方案1】:

要检测 MSVC 编译器,您可以查看是否定义了 _MSC_VER,以便您可以执行类似的操作

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

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

【讨论】:

    【解决方案2】:

    请参阅this resource 获取宏列表以确定正在使用的编译器。按如下方式使用它们(对于 MS VC):

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2015-02-11
      • 2014-11-24
      相关资源
      最近更新 更多