C下的__attribute__ 关键字学习
使用__attribute__关键字,首先需要编译器支持,现在绝大多数的编译器都是支持的. 其功能主要是用来在函数或数据声明中设置其属性. __attribute__可以设置函数属性(Function Attribute),变量属性(Variable Attribute)和类型属性(Type Attribute),格式为: _attribute__ ((attribute-list)) 功能有: 1. 错误检查. 函数属性可以帮助开发者把一些特性添加到函数声明中,从而可以使编译器在错误检查方面的功能更强大. 2. 返回声明. __attribute__((noreturn))就是告诉编译器这个函数不会返回给调用者,以便编译器在优化时去掉不必要的函数返回代码. 3. 字节对齐声明.如__attribute__ ((packed))就是高速编译器取消变量或者结构体成员在编译过程中的优化对齐,即按照实际占用字节数进行对齐. 指定字节对齐: struct Test_STU{ char a; int b; short c; }__attribute__(aligned(4)); 指定不对齐: struct Test_STU{ char a; int b; … “C下的__attribute__ 关键字学习”
Read More