use*_*325 4 memory-alignment
你能看出他们这些地址中哪些是字对齐的吗?
0x000AE430 0X00014432 0X000B0737 0X0E0D8844
vha*_*lac 14
简短的回答是,是的.但是你必须定义每个字的字节数.有些架构将一个字称为两个字节,将四个字节称为双字.在任何情况下,你只是在心理上计算addr%word_size或addr&(word_size - 1),看看它是否为零.当地址是十六进制时,它是微不足道的:只需查看最右边的数字,看看它是否可以被字大小整除.
addr%word_size
addr&(word_size - 1)
对于4字节的字大小,示例的第二和第三个地址是未对齐的.第二个有2个,第三个有7个,它们都不能被4整除.对于2个字节的字大小,只有第三个地址是不对齐的.
归档时间:
15 年 前
查看次数:
9018 次
最近记录:
14 年,4 月 前