我们对自定义数据类型sizeof获取大小时,并不是每个成员的大小进行累加,操作系统为了便于内存访问,往往以成员所占大小最大的成员进行对齐。
比如
struct test
{
char c;
double d;
};
我们可以通过#pragma pack(n) n为对齐参数进行调整,直接贴代码
在64位Linux系统运行结果如下我们对自定义数据类型sizeof获取大小时,并不是每个成员的大小进行累加,操作系统为了便于内存访问,往往以成员所占大小最大的成员进行对齐。
比如
struct test
{
char c;
double d;
};
我们可以通过#pragma pack(n) n为对齐参数进行调整,直接贴代码
在64位Linux系统运行结果如下