在Visual C++中,可以使用#pragma warning (disable: ...).我还发现,在GCC中,可以使用override per file compiler flags.我怎样才能在"下一行"中做到这一点,或者在使用GCC的代码区域中使用push/pop语义?

推荐答案

看起来是can be done.我无法确定添加的GCC版本,但它是在2010年6月之前的某个时候.

下面是一个示例:

#pragma GCC diagnostic error "-Wuninitialized"
    foo(a);         /* error is given for this one */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
    foo(b);         /* no diagnostic for this one */
#pragma GCC diagnostic pop
    foo(c);         /* error is given for this one */
#pragma GCC diagnostic pop
    foo(d);         /* depends on command line options */

C++相关问答推荐

XV 6中的MLFQ和RR

漏洞仅出现在FreeBSD上,但在Windows、Linux和MacOS上运行得非常好

为什么写入系统调用打印的字符数不正确?

__VA_OPT__(,)是否可以检测后面没有任何内容的尾随逗号?

拥有3x3二维数组并访问数组[1][3]等同于数组[2][0]?

为什么STM32G474RE上没有启用RCC PLL

用C++实现余弦函数

RawMotion的XInput2错误(具有较高值的XISelectEvents上的BadValue)

处理EPOLL_WAIT中的接收数据和连接关闭信号

在vfork()之后,链接器如何在不 destruct 父内存的情况下解析execve()?

错误...的多个定义(&Q)首先在这里定义&

理解bzip2的BZ2_解压缩函数中的状态重新分配

当我用scanf(&Q;%S%S%S&Q;,单词0,单词1,单词2)输入多个单词时,除了最后一个单词外,每个单词的第一个字符都丢失了

try 判断长整数是否为素数

可以对两种 struct 类型中的任何一种进行操作的C函数

为什么这个代码的最后一次迭代不能正常工作?

C: NULL>;NULL总是false?

计算时出现奇怪的计算错误;N Select K;在C中

将不同类型的指针传递给函数(C)

从管道读取数据时丢失