摘要: 所有变量在内存中的存储都有对齐问题,包括结构体和类(对象)等,只是这些对程序员是透明的,不需要关心。说白了,对齐就是在空间与复杂度上达到平衡,在可接受的空间浪费前提下,尽可能提高相同运算过程的速度。 举个例子,现在有两个变量:char A; int B; 在不考虑对齐时,A变量从内存地址0开始分配,占0x00内存,B变量占0x01-0x04。一般情况下,地址总线总是按照对齐后的地址来访问的。计算机的处理过程是先将0x00-0x03共32位读入寄存器,与0x000000FF做与运算或者通过左移24位再右移24位得到A的值。获得B变量的方法是将0x00-0x03这32位读入寄存器,得到低24... 阅读全文
posted @ 2012-03-20 15:26 爱也玲珑 阅读(719) 评论(0) 推荐(0) 编辑