__attribute __((packed,aligned(n)))和__attribute __((aligned(n)))有什么区别?

时间:2012-12-12 01:44:31

标签: memory gcc memory-alignment

属性((packed,aligned(n)))和之间是否有任何区别? 属性((aligned(n)))?

1 个答案:

答案 0 :(得分:2)

aligned属性指定变量/字段必须具有的最小对齐方式。 packed属性请求变量/字段应具有尽可能小的对齐。因此,只需使用__attribute__((aligned(n))将最小对齐设置为n,但不保证它不会更大。但是使用__attribute__((packed,aligned(n)))会将对齐设置为n