内存对齐的原则
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存对齐的原则相关的知识,希望对你有一定的参考价值。
参考技术A 1、数据成员对齐规则:结构(struct)或union的数据成员,第一个数据的成员,放在offset为0 的地方,以后每个数据成员存储的起始位置,要从该成员大小成员的子成员大小(只要该成员有子成员,数组、结构体等)的整数倍开始。如:int 为4字节,则要从4的整数倍地址开始存储。min(当前开始的位置m n)m = 9,n = 4,则9 - 10 - 11 - 12
2、结构体作为成员:如果一个结构里,有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。
如:struct A里存有 struct B ,B里有char、int 、double等元素,那么B应该从8的整数倍开始存储。
3、结构体的总大小,也就是sizeOf的结果,必须是其内部成员的整数倍,不足的要补齐
以上是关于内存对齐的原则的主要内容,如果未能解决你的问题,请参考以下文章