Gcc对C语言的拓展功能 之 属性设置

属性设置的关键字是___attribute___, 此关键字允许我们对变量,函数参数,联合体,结构体和C++中的成员进行指定特定属性,其后跟随包含在双括弧里的属性规范,一些属性是为一般变量定义的,一些是为了定义特定目标系统的变量所设置的,而另一些属性是为函数所使用的。

在GNU C 和 C++ 中,我们能够使用函数属性来指明某些函数的特性,以此来帮助编译器优化函数调用和更小心的检查代码正确性。举个例子,我们能够用属性noreturn来指明函数不返回参数,或者使用属性指明返回的值仅取决于其参数的值(const),或取决于其拥有打印样式的参数(format).

我们可以使用属性设置来控制内存放置,代码生成选项或者被注解函数中调用和返回的约定。许多这些属性都是需要指明目标的。举个例子,许多目标支持为定义中断处理函数而用的属性,此通常必须遵循特殊的寄存器用法和返回约定。

[download id=”__attribute__”]