本文共 996 字,大约阅读时间需要 3 分钟。
1.
在TC下:struct my{ char ch; int a;}
在GCC下:struct my{ char ch; int a;} sizeof(int)=4;sizeof(my)=8;(非紧凑模式)
在GCC下:struct my{ char ch; int a;}__attrubte__
2.
GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 __attribute__书写特征是:__attribute__前后都有两个下划线,并且后面会紧跟一对括弧,括弧里面是相应的__attribute__参数。 __attribute__语法格式为: __attribute__ ((attribute-list)) 其位置约束:放于声明的尾部“;”之前。 函数属性(Function Attribute):函数属性可以帮助开发者把一些特性添加到函数声明中,从而可以使编译器在错误检查方面的功能更强大。__attribute__机制也很容易同非GNU应用程序做到兼容之功效。 GNU CC需要使用 –Wall编译器来击活该功能,这是控制警告信息的一个很好的方式。 packed属性:使用该属性可以使得变量或者结构体成员使用最小的对齐方式,即对变量是一字节对齐,对域(field)是位对齐。
转载地址:http://oipci.baihongyu.com/