我有一堆编译时断言,例如:
CASSERT(isTrue) or CASSERT2(isTrue, prefix_)
当我和GCC一起编译的时候,我收到了很多像'prefix_LineNumber' defined but not used
这样的警告。有没有办法隐藏编译时断言的警告?我没有幸运地搜索到GCC的文档。我想我可以在同一个宏中自动全局使用var,但我想不出任何方法来做到这一点。
有没有人知道如何在“GCC”中隐藏这种警告?
发布于 2009-03-04 03:17:56
在搜索这个问题的解决方案时,我看到了这个帖子。我在这里张贴我找到的解决方案的完整性…
控制未使用的warnings的GCC编译器标志包括:
-Wunused-function
-Wunused-label
-Wunused-parameter
-Wunused-value
-Wunused-variable
-Wunused (=all of the above)
每一个都有一个相应的否定形式,在W后面插入"no-“,这将关闭警告(例如,如果它是由-Wall打开的)。因此,在您的情况下,您应该使用
-Wno-unused-function
当然,这适用于整个代码,而不仅仅是编译时断言。对于特定于函数的行为,可以查看Function attributes。
发布于 2008-12-22 05:45:32
GCC不与其他编译器冲突的解决方案
#ifdef __GNUC__
#define VARIABLE_IS_NOT_USED __attribute__ ((unused))
#else
#define VARIABLE_IS_NOT_USED
#endif
int VARIABLE_IS_NOT_USED your_variable;
发布于 2011-05-12 22:09:46
这是最令人欣慰的警告之一,尽管我理解检查死代码(有时)可能是有用的。但我通常使用静态函数进行调试,或者在将来某个时候可能有用的函数,或者只是暂时使用的函数,我希望将它们保留在代码中。
幸运的是,这个警告并不关心内联函数。
inline static foo()
{
}
https://stackoverflow.com/questions/386220
复制相似问题