字节对齐(Alignment)

  平常说的字节对齐主要是指按地址对齐,也就是数据的存取地址具有某种相同的特性,即能被某个数据长度值整除。例如,32位(4字节)长的数据的存取地址能被4整除。


  字节对齐主要是硬件平台的要求,因为对齐的话硬件上实现起来比较简单。反过来说,如果不对齐,那么就有可能因为硬件不支持该操作而触发异常,或者硬件支持,但是实现起来相对比较复杂,导致存取效率不高。譬如32位平台,读取int型数据,如果硬件平台每次读都从偶地址开始,那么要是这个int型数据存放在奇地址开始的地方,就需要读取两次,并且还需要对两次读取结果进行拼装,这样一来肯定慢多了。


  一般情况下,也不是特别需要注意字节对齐问题,因为编译器把相关的问题自动处理了。比较明显的是C中的结构体。像结构体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值