6.35 Указание атрибутов типов
Ключевое слово __attribute__ позволяет указывать различные специальные свойства типов. Некоторые атрибуты типов применяются только к структурам и объединениям, а в C++, также к типам классов, в то время как другие могут применяться к любому типу, определенному с помощью typedef объявления. Если не указано иное, те же ограничения и эффекты применяются к атрибутам независимо от того, является ли тип простой структурой или классом C++ с определенными пользователем конструкторами, деструкторами или оператором копирования присваивания.
Другие атрибуты определены для функций (см. Объявление атрибутов функций), меток (см. Атрибуты меток), перечислителей (см. Атрибуты перечислителей), операторов (см. Атрибуты операторов) и для переменных (см. Указание атрибутов переменных).
Ключевое слово __attribute__ следует за указанием атрибута, заключенным в двойные скобки.
Вы можете указывать атрибуты типов в объявлении или определении типа enum, struct или union, поместив их непосредственно после ключевого слова struct, union или enum. Вы также можете поместить их сразу после закрывающей фигурной скобки определения, но это менее предпочтительно, так как логически тип должен быть полностью определен в этой скобке.
Вы также можете включать атрибуты типов в typedef объявлении. Смотрите Синтаксис атрибутов для подробностей о точном синтаксисе использования атрибутов.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/Type-Attributes.html