是否有用于抑制警告的gcc/Xcode杂注?
是否有类似于Java的是否有用于抑制警告的gcc/Xcode杂注?,xcode,gcc,pragma,gcc-warning,Xcode,Gcc,Pragma,Gcc Warning,是否有类似于Java的@SuppressWarning注释的#pragma使gcc/Xcode抑制特定警告 我通常使用-Wall进行编译,但在某些情况下,我希望忽略特定的警告(例如,编写一些快速/脏代码只是为了帮助调试某些东西) 我不是在寻找“修复代码”的答案。。使用#pragma GCC system_header让GCC以一种非常特殊的方式处理代码,从而抑制任何非致命的#警告 记住,你只是在愚弄你的预处理器,而不是真正的编译器。抑制警告在大多数情况下可能是有害的。在gcc4.6及更高版本中,
@SuppressWarning
注释的#pragma
使gcc/Xcode抑制特定警告
我通常使用-Wall
进行编译,但在某些情况下,我希望忽略特定的警告(例如,编写一些快速/脏代码只是为了帮助调试某些东西)
我不是在寻找“修复代码”的答案。。使用#pragma GCC system_header
让GCC以一种非常特殊的方式处理代码,从而抑制任何非致命的#警告
记住,你只是在愚弄你的预处理器,而不是真正的编译器。抑制警告在大多数情况下可能是有害的。在gcc4.6及更高版本中,您可以使用pragma抑制特定的警告,并仅对特定的代码块进行抑制,即:
#pragma GCC diagnostic
push #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
// Code that causes warning goes here
#pragma GCC diagnostic pop
push/pop用于保留代码处理前的诊断选项
这比使用“#pragma GCC system_header
”来抑制所有警告要好得多。(当然,在较旧的gcc中,您可能会被#pragma gcc system_头
方法“卡住”!)
以下是关于禁止gcc警告的一个很好的参考:
本页还介绍了如何使用-fddiagnostics show option
找出控制特定警告的选项
当然,正如其他人提到的,修复所有警告的根本原因通常比抑制它们要好得多!然而,有时这是不可能的。在理想情况下,我们甚至应该将所有警告都视为错误(使用-Werror)。这就是我能做的。在处理多个平台时会变得很困难,但除此之外,warning=error。是的,我也有-Werror。我的问题更多的是临时代码来帮助调试。可惜你不能在一个块中完成这项工作。在文件的其余部分这样做对我来说太危险了。