代码之家  ›  专栏  ›  技术社区  ›  nall

是否有用于抑制警告的gcc/Xcode杂注?

  •  3
  • nall  · 技术社区  · 15 年前

    有没有 #pragma @SuppressWarning

    我用 -Wall 通常,在某些情况下,我只想忽略一个特定的警告(例如,在编写一些快速/脏代码以帮助调试某些东西时)。

    我不是在寻找“修复代码”的答案。

    2 回复  |  直到 15 年前
        1
  •  3
  •   ZZambia    15 年前

    Here's a viable solution . 使用 #pragma GCC system_header 让GCC以一种非常特殊的方式处理您的代码,从而抑制任何非致命的错误 #warning .

    记住,你只是在愚弄你的预处理器,而不是真正的编译器。压制警告在大多数情况下可能是有害的。

        2
  •  2
  •   Pokechu22    10 年前

    在gcc4.6及更高版本中,您可以使用pragma来抑制特定警告,并仅对特定代码块进行抑制,即:

    #pragma GCC diagnostic 
    push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 
    // Code that causes warning goes here
    #pragma GCC diagnostic pop
    

    这将是一种比使用 #pragma GCC system_header #pragma GCC系统头 接近!)

    以下是关于禁止gcc警告的一个很好的参考: http://www.dbp-consulting.com/tutorials/SuppressingGCCWarnings.html

    本页还介绍了如何使用 -fdiagnostics-show-option

    当然,正如其他人提到的,修复所有警告的根本原因通常比抑制它们要好得多!然而,有时这是不可能的。