c语言中使用gcc默认是4字节对齐,为了节省空间,我们可以修改对齐方式。
attribute ((packed));通过这个就可以取消了结构体在编译中的优化对齐,而按照实际过程中对齐。
__attribute((aligned(n)))通过这个属性就可以让结构体成员对齐在n字节,如果结构体成员中有字节大于n,那么就按照最大字节数对齐;
c语言之结构体字节对齐
最新推荐文章于 2024-08-03 22:26:35 发布
c语言中使用gcc默认是4字节对齐,为了节省空间,我们可以修改对齐方式。
attribute ((packed));通过这个就可以取消了结构体在编译中的优化对齐,而按照实际过程中对齐。
__attribute((aligned(n)))通过这个属性就可以让结构体成员对齐在n字节,如果结构体成员中有字节大于n,那么就按照最大字节数对齐;