![]() |
Specifying Attributes of Types |
Previous | GNU C Language Extensions | Next |
The keyword __attribute__
allows you to specify special
attributes of struct
and union
types when you define such
types. This keyword is followed by an attribute specification inside
double parentheses.
The following attributes are currently defined for types:
Other attributes are defined for
functions (see Function Attributes) and for variables
(see Variable Attributes).
You may also specify any one of these attributes with __
preceding and following its keyword. This allows you to use these
attributes in header files without being concerned about a possible
macro of the same name. For example, you may use __aligned__
instead of aligned
.
You may specify the aligned
and transparent_union
attributes either in a typedef
declaration or just past the
closing curly brace of a complete enum, struct or union type
definition and the packed
attribute only past the closing
brace of a definition.
You may also specify attributes between the enum, struct or union
tag and the name of the type rather than after the closing brace.
See Attribute Syntax for details of the exact syntax for using
attributes.
To specify multiple attributes, separate them by commas within the
double parentheses: for example, __attribute__ ((aligned (16),
packed))
.