ここでは、構造を持つ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が警告を生成するのはなぜですか?
この属性は、構造体定義ではなく変数に置きます。 –