c - 海湾合作委员会,C : Finding out name of default warnings for use in #pragma ignore

标签 c gcc warnings

我知道我可以把

#pragma GCC diagnostic ignored "<warning>"

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

#pragma GCC diagnostic ignored "-Wwrite-strings"

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

-fdiagnostics-show-option,

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

有什么方法可以识别这些警告或抑制与特定源文件相关的警告吗?

非常感谢!

最佳答案

您必须推送和弹出诊断状态。像这样:

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

    int unused_function( void ) {
         return 1337;
    }
#pragma GCC diagnostic pop

关于c - 海湾合作委员会,C : Finding out name of default warnings for use in #pragma ignore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997634/

相关文章:

javascript - javascript 和 Razor 中的预期表达式 visual studio 警告

c++ - 跨平台换行混淆

c - wcstok() 无法正常工作?

linux - 无法执行 'x86_64-conda_cos6-linux-gnu-gcc' : No such file or directory (pysam installation)

c - 为什么将零转换为指针类型并访问其成员工作?

jquery - 如何在 jQuery 下拉菜单中附加一组元素符号?

C++获取临时地址

c - C-使用GCC原子内置函数实现fetchAndSet-有更好的方法吗?

分配和重新分配内存时崩溃

c++ - 使用 std::basic_istringstream<unsigned short> 时的 std::bad_cast