新聞中心

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

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

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

        上一頁 1 2 下一頁

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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桦南县| 东港市| 长治市| 石嘴山市| 潼关县| 千阳县| 白山市| 琼结县| 都兰县| 浦东新区| 太保市| 天祝| 阿坝| 油尖旺区| 古浪县| 乌审旗| 长阳| 德阳市| 渭南市| 远安县| 巴彦县| 抚顺市| 托里县| 平舆县| 三都| 防城港市| 邓州市| 金昌市| 石狮市| 永登县| 安达市| 合山市| 观塘区| 金湖县| 汨罗市| 资源县| 乌兰浩特市| 雅江县| 东乡族自治县| 班戈县| 巫山县|