Gcc 在何处放置带有typedef:ed结构的_属性_u((对齐))?

Gcc 在何处放置带有typedef:ed结构的_属性_u((对齐))?,gcc,Gcc,我在谷歌上搜索了gcc的\uuuuuuu属性(对齐))以了解有关如何使用该属性的更多信息 根据GNU,“您可以在typedef声明中指定对齐的和透明的联合属性,也可以在一个完整的枚举、结构或联合类型定义的右大括号之后指定,而压缩属性只能在定义的右大括号之后指定。”此外,本文档还显示了以下示例: struct S { short f[3]; } __attribute__ ((aligned (8))); 但我发现很少有使用“typedef struct”的示例。我发现了以下两点: typede

我在谷歌上搜索了gcc的
\uuuuuuu属性(对齐))
以了解有关如何使用该属性的更多信息

根据GNU,“您可以在typedef声明中指定对齐的和透明的联合属性,也可以在一个完整的枚举、结构或联合类型定义的右大括号之后指定,而压缩属性只能在定义的右大括号之后指定。”此外,本文档还显示了以下示例:

struct S { short f[3]; } __attribute__ ((aligned (8)));
但我发现很少有使用“typedef struct”的示例。我发现了以下两点:

typedef struct __attribute__ ((aligned)) { char a; int x; } foo;
typedef struct { char a; int x; } __attribute__ ((aligned)) foo;
首选的方法是:struct之后和
{
之前的属性,还是
}
之后和foo之前的属性

它们是否都提供相同的结果

如果您能从以下网址获得有关正确使用typedef:ed结构的
\uuu属性((对齐))
的更多详细信息,我将不胜感激:

对于枚举、结构或联合类型,可以 可以指定属性,或者 枚举、结构或联合标记以及 类型的名称,或刚刚超过 关闭定义的大括号。 首选前一种语法