| |||
| Home > Compiler-specific Features > Function attributes | |||
The __attribute__ keyword enables you to
specify special attributes of variables or structure fields, functions,
and types. The keyword format is either of the following:
__attribute__ ((attribute1,attribute2, ...)) __attribute__ ((__attribute1__,__attribute2__, ...))
For example:
void * Function_Attributes_malloc_0(int b) __attribute__ ((malloc)); static int b __attribute__ ((__unused__));
Table 10 summarizes the available function attributes.
Table 10. Function attributes supported by the compiler and their equivalents
| Function attribute | Non-attribute equivalent |
|---|---|
__attribute__((alias)) | - |
__attribute__((always_inline)) | __forceinline |
__attribute__((const)) | __pure |
__attribute__((constructor[( | - |
__attribute__((deprecated)) | - |
__attribute__((destructor[( | - |
__attribute__((format_arg( | - |
__attribute__((malloc)) | - |
__attribute__((noinline)) | __declspec(noinline) |
__attribute__((no_instrument_function)) | - |
__attribute__((nomerge)) | - |
__attribute__((nonnull)) | - |
__attribute__((noreturn)) | __declspec(noreturn)) |
__attribute__((notailcall)) | - |
__attribute__((pcs(" | - |
__attribute__((pure)) | - |
__attribute__((section(" | - |
__attribute__((unused)) | - |
__attribute__((used)) | - |
__attribute__((visibility(" | - |
__attribute__((weak)) | __weak |
__attribute__((weakref("target"))) | - |