新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 關于結構體數據存儲的對齊問題

關于結構體數據存儲的對齊問題

作者: 時間:2016-12-01 來源:網絡 收藏
在linux下的結果:
在windows下的結果:
在linux下的存儲形式,其中黑色包圍起來的才是我們的存儲空間白色的部分是保留區(qū)域,通過下面的兩幅圖就可以知道其中的一些道理,知道其中所謂的完成一樣的功能,保證存儲空間最?。?/div>
在windows下的存儲形式,其中黑色包圍起來的才是我們的存儲空間白色的部分是保留區(qū)域:
從上面的幾個圖片可以知道在C語言中的內存分布是比較復雜的。一定要注意存儲的對齊形式,這樣才能了解其中的分布規(guī)律。當然了上面的形式都只是在小端處理器模式下的存儲形式,對于大端也有類似的情況,只是存儲的位置不一樣,但是內存的大小是相同的。
結構體的定義不能是隨便的,如果考慮好對齊關系能夠節(jié)省大量的存儲空間。實現效率和存儲空間的折中。雖然#pragmapack(n)等能夠改變其中的對齊方式,不過建議不要隨便改動,可能得不償失。

上一頁 1 2 下一頁

關鍵詞: 結構體數據存儲對齊問

評論


相關推薦

技術專區(qū)

關閉