12

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

4

4 回答 4

13

gcc 有这个警告标志:

-Wunknown-pragmas 当遇到 GCC 不理解的 #pragma 指令时发出警告。如果使用此命令行选项,甚至会针对系统头文件中的未知 pragma 发出警告。如果警告仅由 -Wall 命令行选项启用,则情况并非如此。

并且像往常一样,你可以否定它,这意味着未知的 pragma 不会被警告。也就是说,使用-Wno-unknown-pragmas.

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

于 2012-10-15T11:20:32.570 回答
10

不要在 GCC 上使用它?:)

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

#ifndef __GNUC__
#pragma region
#endif

// Stuff...

#ifndef __GNUC__
#pragma endregion
#endif

不是很好看或可读性不好,但会使代码在 GCC 上编译而没有警告。

于 2012-10-15T11:19:44.000 回答
5

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

#ifdef _MSC_VER
#pragma region
#endif

<code here>

#ifdef _MSC_VER
#pragma endregion
#endif
于 2014-05-09T10:11:46.053 回答
5
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
... Code using Unknown pragmas ...
#pragma GCC diagnostic pop
于 2014-03-20T16:33:04.423 回答