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)) ;
 


    完整的属性列表:

 

posted @ 2022-04-24 16:25  suphgcm  阅读(360)  评论(0编辑  收藏  举报