11
我已使用gcc的__attribute__ ((aligned))
的Google信息瞭解如何使用該屬性的更多信息。何處放置__attribute__((對齊))與typedef:ed結構?
根據GNU「你可以在typedef聲明中指定aligned和transparent_union屬性,或者只是通過完整的枚舉,結構體或聯合體類型定義的閉括號大括號,而壓縮屬性只能通過定義的大括號。 「此外,該文檔顯示了以下示例:
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之前屬性之前?
它們是否都提供相同的結果?
我將非常感謝關於__attribute__ ((aligned))
正確使用typedef:ed結構的任何其他詳細信息。