如何删除#pragma region上的GCC警告?我添加pragma region是为了方便查看代码,但它报告了#pragma region上的警告。我使用的是Visual Studio 2010。
#pragma region
pragma region
zvokhttg1#
gcc具有以下警告标志:
-Wunknown-pragmas遇到GCC无法理解的#pragma指令时发出警告。如果使用此命令行选项,甚至会对系统头文件中的未知pragma发出警告。如果警告仅由-Wall命令行选项启用,则不会出现这种情况。
通常你可以否定它,这意味着未知的pragma不会被警告。也就是说,使用-Wno-unknown-pragmas。请注意,-Wno-unknown-pragmas必须在任何开启此警告的命令列旗标之后,例如-Wall-这也会停用所有未知pragma的警告,因此请小心使用。
-Wno-unknown-pragmas
-Wall
3ks5zfa02#
不要在GCC上使用它?:)目前我能想到的最简单的解决方案是使用预处理器条件语句:
#ifndef __GNUC__ #pragma region #endif // Stuff... #ifndef __GNUC__ #pragma endregion #endif
不是很好看或可读,但将使代码编译没有警告的GCC。
3okqufwl3#
#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunknown-pragmas" ... Code using Unknown pragmas ... #pragma GCC diagnostic pop
nhaq1z214#
它似乎是MSVC特定的pragma,因此您应该使用
#ifdef _MSC_VER #pragma region #endif <code here> #ifdef _MSC_VER #pragma endregion #endif
nwlls2ji5#
如果注解了#pragma region和#pragma endregion行,编辑器可能仍然能够解析它并使用折叠特性,而不会发出任何警告。我已经在VSCode 1.70.2上测试了它,这个变通办法很有效。
#pragma endregion
5条答案
按热度按时间zvokhttg1#
gcc具有以下警告标志:
-Wunknown-pragmas遇到GCC无法理解的#pragma指令时发出警告。如果使用此命令行选项,甚至会对系统头文件中的未知pragma发出警告。如果警告仅由-Wall命令行选项启用,则不会出现这种情况。
通常你可以否定它,这意味着未知的pragma不会被警告。也就是说,使用
-Wno-unknown-pragmas
。请注意,
-Wno-unknown-pragmas
必须在任何开启此警告的命令列旗标之后,例如-Wall
-这也会停用所有未知pragma的警告,因此请小心使用。3ks5zfa02#
不要在GCC上使用它?:)
目前我能想到的最简单的解决方案是使用预处理器条件语句:
不是很好看或可读,但将使代码编译没有警告的GCC。
3okqufwl3#
nhaq1z214#
它似乎是MSVC特定的pragma,因此您应该使用
nwlls2ji5#
如果注解了
#pragma region
和#pragma endregion
行,编辑器可能仍然能够解析它并使用折叠特性,而不会发出任何警告。我已经在VSCode 1.70.2上测试了它,这个变通办法很有效。