如何禁用GCC中的#警告消息

How do I disable #warning message in GCC?

本文关键字:警告 消息 中的 何禁用 GCC      更新时间:2023-10-16

GCC中有一个名为#warning的预处理器指令,它只是在编译时用附加的字符串发出警告。GCC文档指出,可以使用-Wno-cpp标志禁用此功能。然而,这个标志似乎不起作用。我正在使用GCC 4.4.3。

一个简单的测试用例是:

#include <iostream>
#warning "Hello"
int main() {
}

结果是:

$ g++ warn.cc 
warn.cc:2:2: warning: #warning "Hello"
$ g++ warn.cc -Wno-cpp
warn.cc:2:2: warning: #warning "Hello"

文件有错吗?

Wno-cpp显然是在GCC 4.6.x之前才添加的——直到4.5.3版本的文档中都没有添加:http://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/index.html#toc_Invoking-GCC