8

我知道我可以把

#pragma GCC diagnostic ignored "<warning>"

到源文件的顶部,以抑制与此特定源文件相关的警告。但是,似乎有些名称不够具体。例如,

#pragma GCC diagnostic ignored "-Wwrite-strings"

不阻止 gcc (4.7.2) 显示未给出确切名称的警告消息,相反,这些消息后仅显示 [默认启用]。我想我需要知道正确的警告名称,这样我才能#pragma在行中使用它们。我试过了

-fdiagnostics-show-option,

但是警告仍然显示为[默认启用]。

有没有办法识别这些警告或抑制与特定源文件相关的警告?

非常感谢!

4

1 回答 1

2

You have to push and pop diagnostic states. Like this:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
    /* ignoring warning */

    int unused_function( void ) {
         return 1337;
    }
#pragma GCC diagnostic pop
于 2013-04-17T21:39:22.993 回答