copy from gcc manual
In GNU C, you declare certain things about functions called in your program which help
the compiler optimize function calls and check your code more carefully.
The keyword __attribute__ allows you to specify special attributes when making a
declaration. This keyword is followed by an attribute specification inside double parentheses.
The following attributes are currently defined for functions on all targets: aligned, alloc_
size, noreturn, returns_twice, noinline, noclone, always_inline, flatten, pure,
const, nothrow, sentinel, format, format_arg, no_instrument_function, no_split_
stack, section, constructor, destructor, used, unused, deprecated, weak, malloc,
alias, ifunc, warn_unused_result, nonnull, gnu_inline, externally_visible, hot,
cold, artificial, error and warning. Several other attributes are defined for functions on
particular target systems. Other attributes, including section are supported for variables
declarations (see Section 6.36 [Variable Attributes], page 341) and for types (see Section 6.37
[Type Attributes], page 350).
GCC plugins may provide their own attributes.
You may also specify attributes with ‘__’ preceding and following each keyword. This
allows you to use them in header files without being concerned about a possible macro of
the same name. For example, you may use __noreturn__ instead of noreturn.
See Section 6.31 [Attribute Syntax], page 337, for details of the exact syntax for using
attributes.
本文详细介绍了GCC中用于指定函数属性的__attribute__关键字的使用方法,包括其定义的属性及其在变量和类型声明中的支持,并提到了GCC插件可能提供的自定义属性。
375

被折叠的 条评论
为什么被折叠?



