相关疑难解决方法(0)

为什么C中的双精度是8字节对齐?

我正在阅读一篇关于内存中数据类型对齐的文章(这里),我无法理解一点,即

请注意,双变量将在32位机器上的8字节边界上分配,并且需要两个存储器读取周期.在64位机器上,根据存储体的数量,双变量将在8字节边界上分配,并且只需要一个存储器读周期.

我的疑问是:为什么需要在8字节边界上分配双变量而不是4字节?如果它仍然分配在4字节边界上,我们只需要2个存储器读周期(在32位机器上).如果我错了,请纠正我.

如果有人有一个关于成员/内存对齐的好教程,请分享.

c memory-alignment 32bit-64bit

16
推荐指数
1
解决办法
6284
查看次数

标签 统计

32bit-64bit ×1

c ×1

memory-alignment ×1