摘要: C/C++中的内存对齐(Memory Alignment)是件很有意思的事,现在分别介绍其产生的原因和具体规则,最后就是举例分析说明。产生的原因 为什么内存中需要对齐呢? 在CPU眼中,它把内存当成是一块一块的,块的大小可以是2,4,8,16字节大小,它在读取内存时也是一块一块进行读取的。同时不同的数据类型又是按照自己所占的字节数来进行存储的。 假设现在一个int型存储在0-3字节中,当CPU要读取这个int型的数据到寄存器中,就能一次过把这4个字节读到寄存器中。但是当该数据是从1字节开始存储的,问题变的有些复杂。CPU要先读取0—3字节的数据进寄存器,并再次读取4—7字节的数据进寄存... 阅读全文
posted @ 2014-03-05 14:12 生死相依 阅读(230) 评论(0) 推荐(0)