GCC的__attribute__扩展特性
__attribute__ 语法为GNU C 的特性,是个编译器指令,告诉编译器声明的特性,或者让编译器进行更多的错误检查和高级优化。可以用来设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。
__attribute__语法格式为:__attribute__ ((attribute))
需要注意的是:
(1)使用__attribute__的时候,只能函数/变量/类型的声明处使用__attribute__,并且在";"前。
例子:
一个library通常要经过一番修改才会趋于完善,出现新的函数,淘汰老的函数。考虑到兼容性并鼓励其他开发人员修改,最好的办法是直接让他们在编译的时候知道,这是就需要用到一个deprecated的属性。
__attribute__((deprecated)): deprecated,弃用。如果在源文件在任何地方地方使用deprecated attribute标记的函数,编译器将会发出警告。
__attribute__((deprecated)) void old_func() ;
或
void old_func() __attribute__((deprecated)) ;
完整的属性列表: