【发布时间】:2017-11-01 11:14:41
【问题描述】:
这里使用了unused 带有结构的属性。
根据GCC文档:
未使用:
这个属性,附加到一个变量上,意味着该变量是 意味着可能未使用。 GCC 不会对此产生警告 变量。
但是,在下面的代码中,结构数组产生了警告。
#include <stdio.h>
struct __attribute__ ((unused)) St
{
int x;
};
void func1()
{
struct St s; // no warning, ok
}
void func2()
{
struct St s[1]; // Why warning???
}
int main() {
func1();
func2();
return 0;
}
为什么 GCC 会为结构数组生成警告?
【问题讨论】:
-
将此属性放在变量中,而不是结构定义中。
__attribute__ ((unused)) struct St s[1];
标签: c arrays gcc struct unused-variables