目的:優化CPU訪問數據效率
?
類型轉換:未對齊時,嚴格一些的系統會報段錯誤,未報錯的話效率也會有所下降。
各種結構的對齊:
?
編譯器的區別:
其實字節對齊的細節和具體編譯器實現相關,但一般而言,滿足三個準則:(from baike)
1) 結構體變量的首地址能夠被其最寬基本類型成員的大小所整除;
2) 結構體每個成員相對于結構體首地址的偏移量都是成員大小的整數倍,如有需要編譯器會在成員之間加上填充字節;例如上面第二個結構體變量的地址空間。
3) 結構體的總大小為結構體最寬基本類型成員大小的整數倍,如有需要編譯器會在最末一個成員之后加上填充字節。
?
詳細見:http://blog.csdn.net/21aspnet/article/details/6729724/