摘要: 1. 概念:程序员眼中的内存是按byte存储的;而cpu眼中的内存是以chunk为单位的,chunk可以是2,4,8bytes。如果放在内存中的数据没有被对齐即其内存地址不是对应cpu内存访问粒度的整数倍,读取这段数据cpu就需要更多次的内存访问,相比较对齐的内存数据而言。内存对齐后,占据的内存必然是增多的。2. 最明显的获知有内存对齐这回事的例子是sizeof(struct a)。由于我们可以通过编译选项#pragma pack(n)来控制数据的内存存放的对齐粒度(1,2,4,8),从而可以很容易测试得到在不同的对齐粒度下,同一个struct变量占据的内存大小的变化。3. 编译器根据内存对齐 阅读全文
posted @ 2011-03-15 15:04 能巴 阅读(256) 评论(0) 推荐(0) 编辑