2011年9月5日
摘要: C语言也和扑克牌一样, 易学难精。 对于 内存对齐的问题, 一直知道有这样的事实存在,却没有真的理解过如何来的 。百度百科里给 内存对齐的原因作了一定的阐述: 1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。下面开始对内存对齐的进行具体认识。(演示于VS2010, 以结构体为例)在VS2010里, 默认情况下,编译器会对内存进行自动对齐(以... 阅读全文
posted @ 2011-09-05 18:12 影一辉 阅读(2080) 评论(5) 推荐(1) 编辑