OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 结构体内存对齐问题

共1条 1/1 1 跳转至

结构体内存对齐问题

助工
2014-11-25 20:54:40    评分

字节对齐的细节和编译器实现相关,但一般而言,满足四个准则:



1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;


2)每个成员分别按自己的方式对齐,并能最小化长度。其对齐的规则是,每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数(这里是8字节)中较小的一个对齐。


3) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);



4) 结构体的总大小为结构体所用过的所有对齐参数(内部最大元素大小)的整数倍,不够就补充空字节。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]