5.8 属性声明aligned & packed aligned 用于指定结构体类型、联合类型、变量的地址对齐 单位:字节 大小:2的幂 char c2 __attribute__((aligned(16))) = 4 ; 思考 编译器一定会按照aligned指定的方式对齐吗? 不会 packed 指定变量和类型(结构体、联合、枚举)使用最小可能的对齐减少元素之间因边界对齐而造成的内存空洞如:寄存器定义 struct data{ char a; short b ; int c ; }__attribute__((packed,aligned(8)));