c++ - -Wpadded 警告的异常(exception)/排除

标签 c++ c gcc warnings padding

我在 (gcc/g++) 上有 -Wpadded 警告选项,并按预期获得这​​些针对非填充 C/C++ 结构的警告。

现在,我想从该警告中排除一些结构,而不必实际填充它们。

让事情变得更复杂——我有“-Wall”。这使得 #pragma GCC diagnostics ignored -Wpadded 的方法不可用(遗憾的是,本来会非常整洁)。

代码中的某种“pragma”指令是我期望的解决方案。提前致谢!

请注意,我的原始问题文本中存在拼写错误!请参阅已接受的答案以确认带有#pragma 的方法确实有效!

最佳答案

是的,GCC has pragmas for this :

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpadded"

// Doesn't warn
struct Foo { bool x; int y; };

#pragma GCC diagnostic pop


// Warns
struct Bar { bool x; int y; };

( live demo )

-Wall 并没有使这变得复杂或成为一个问题;你只需要正确拼写 pragma 即可。 😊

关于c++ - -Wpadded 警告的异常(exception)/排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57073501/

相关文章:

c++ - 需要连接 std :string + WCHAR moving gcc code to Visual C++ 2010

c - 带负数的模运算

c - 防止宏的 GCC 警告 "value computed is not used"

C++11 随机数和 std::bind 以意想不到的方式交互

c - 理解函数参数中的指针

c - 如何在 C# 中为 DLL 导入指定正确的编码(marshal)处理

c++ - 重载的构造函数全部显示,而不仅仅是目标构造函数

c++ - STL-Like 范围,如果我这样做会出什么问题?

c++ - 对包含特殊字符的二维数组进行排序 C++

改变指针指向的int变量