У меня есть информация Googled о gcc __attribute__ ((aligned))
, чтобы узнать больше об использовании этого атрибута.
В соответствии с GNU "Вы можете указать атрибуты aligned и transparent_union либо в объявлении 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?
Они оба доставляют одинаковый результат?
Я бы очень признателен за дополнительную информацию о правильном использовании __attribute__ ((aligned))
с помощью команды typedef: ed.