如何抑制有关 C++ 中未使用变量的警告?
Posted
技术标签:
【中文标题】如何抑制有关 C++ 中未使用变量的警告?【英文标题】:How to suppress warnings about unused variables in C++? 【发布时间】:2012-08-06 23:32:24 【问题描述】:如何抑制编译器生成的关于 c++ 程序中未使用变量的警告?
我正在使用 g++ 编译器
【问题讨论】:
“怎么可能?”为什么要这样做? 通过使用它们?如果一个变量没有被使用,为什么你不能删除它的定义呢?您可能对此有一个很好的答案,和/或该答案可能会影响最佳使用方法。 我会看看 -W 标志选项。 如果你想让它脱颖而出,还有__attribute__((unused))
。
我会亲自初始化变量。
【参考方案1】:
将强制转换为 void:
int unused;
(void)unused;
【讨论】:
强制转换为void
是将变量标记为used但没有副作用的惯用方式。 +1
在条件部分使用给定变量时特别有用(例如,仅在某些调试日志中使用的函数参数)【参考方案2】:
使用-Wno-unused-variable
选项编译。
请参阅GCC documentation on Warning Options 了解更多信息。
-Wno-__
选项关闭由-W__
设置的选项。这里我们关闭-Wunused-variable
。
此外,您可以将__attribute__((unused))
应用于变量(或函数等),以逐个消除此警告。感谢Jesse Good 提及这一点。
【讨论】:
【参考方案3】:为了删除这些警告,我制作了一个可以在整个项目中使用的宏:
#define UNUSED(x) (void)(x)
【讨论】:
以上是关于如何抑制有关 C++ 中未使用变量的警告?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Eclipse/PyDev 中抑制“未使用的变量”警告