4.3. 函数属性

可以使用 __attribute__ 关键字指定变量或结构字段、函数和类型的特殊属性。 此关键字的格式为:


__attribute__ ((attribute1, attribute2, ...))

__attribute__ ((__attribute1__, __attribute2__, ...))

例如:


void * Function_Attributes_malloc_0(int b) __attribute__ ((malloc));

static int b __attribute__ ((__unused__));

Table 4.3 简要说明了可用函数属性。

Table 4.3. 编译器支持的函数属性及其等效项 

函数属性 非属性等效项
__attribute__((alias)) -
__attribute__((always_inline)) __forceinline
__attribute__((const)) __pure
__attribute__((deprecated)) -
__attribute__((malloc)) -
__attribute__((noinline)) __declspec(noinline)
__attribute__((noreturn)) __declspec(noreturn))
__attribute__((pure)) -
__attribute__((unused)) -
__attribute__((used)) -
__attribute__((weak)) __weak
Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential