想必大家已經涉及過內存對齊的問題,這個問題已經被討論過很多次,上網一搜一大票。
1 內存對齊的作用:
爲了提高程序的性能,數據結構(尤其是棧)應該儘可能地在自然邊界上對齊。原因在於,爲了訪問未對齊的內存,處理器需要作兩次內存訪問;然而,對齊的內存訪問僅需要一次訪問。
2 如何禁止內存對齊?
可以使用#pragma pack編譯指令。
3 主要什麼情況下要禁止內存對齊?
a 爲了實現跨平臺編程,避免不同編譯器之間的區別。
b 需要通過偏移量來訪問結構體成員。
c 節省空間。(實際上這中情況可以忽略,畢竟現在的存儲空間已經很大了)