字节对齐(alignment)是CPU在性能方面所面临的一个非常重要的问题。有些处理器能自动的处理不对齐数据的访问(对字节对齐要求不严格),但是,有些处理器却无法处理(对字节对齐要求很严格)。当处理器无法处理对齐问题时,其将引发一个异常(exception),当然从程序的角度来说就是出错(crash)。
对于C程序员,大部分情况下我们并不考虑字节对齐问题,这并不是说我们不需要考虑,而是因为碰到这种问题的情况很少。一方面要在特定的处理器上,而另一方面和我们写的程序也有关系,只有两个条件同时满足时问题才会出现。因此,结果给我们的感觉是“字节对齐与我无关”。
本文通过对一小段简单的代码在不同处理器上的运行结果引出对字节对齐问题的关注,同时对其原因进行了分析。
...请下载附件阅读全文。
转载于:https://blog.51cto.com/yunli/169542