如何删除#pragma区域的GCC警告?

时间:2012-10-15 11:15:21

标签: c++ c visual-studio-2010 gcc

如何删除#pragma region上的GCC警告? 我添加了pragma region以便轻松查看代码,但它会在#pragma region上报告警告。 我正在使用Visual Studio 2010。

4 个答案:

答案 0 :(得分:9)

gcc有这个警告标志:

  

<强> -Wunknown pragma的              遇到GCC无法理解的#pragma指令时发出警告。如果使用此命令行选项,则会出现警告   甚至可以在系统头文件中发出未知的pragma。这是   不              如果仅通过-Wall命令行选项启用警告的情况。

并且按照惯例你可以否定它,这意味着未知的pragma将不会被警告。也就是说,使用-Wno-unknown-pragmas

请注意,-Wno-unknown-pragmas必须在打开此警告的任何命令行标志之后,例如-Wall - 这也会禁用所有未知pragma上的警告,因此请小心使用。

答案 1 :(得分:7)

不要在GCC上使用它? :)

目前我能想到的最简单的解决方案是使用预处理器条件:

#ifndef __GNUC__
#pragma region
#endif

// Stuff...

#ifndef __GNUC__
#pragma endregion
#endif

看起来不太好或不易读,但会使代码在GCC上编译而没有警告。

答案 2 :(得分:4)

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
... Code using Unknown pragmas ...
#pragma GCC diagnostic pop

答案 3 :(得分:3)

它似乎是一个MSVC特定的编译指示,所以你应该使用

#ifdef _MSC_VER
#pragma region
#endif

<code here>

#ifdef _MSC_VER
#pragma endregion
#endif