gpt4 book ai didi

c++ - 仅针对部分翻译单元有选择地禁用 GCC 警告

转载 作者:IT老高 更新时间:2023-10-28 12:01:28 25 4
gpt4 key购买 nike

MSVC 最接近的 GCC 等价物是什么?预处理器代码?

#pragma warning( push )                    // Save the current warning state.
#pragma warning( disable : 4723 ) // C4723: potential divide by 0
// Code which would generate warning 4723.
#pragma warning( pop ) // Restore warnings to previous state.

我们在通常包含的 header 中有代码,我们不想为其生成特定警告。但是,我们希望包含这些 header 的文件继续生成该警告(如果项目启用了该警告)。

最佳答案

这是possible in GCC从 4.6 版开始,或 2010 年 6 月左右在后备箱中。

这是一个例子:

#pragma GCC diagnostic push
#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++ - 仅针对部分翻译单元有选择地禁用 GCC 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com