• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            edog

            冰凍熱狗
            數(shù)據(jù)加載中……

            #pragma pack和數(shù)據(jù)對(duì)齊問題

            結(jié)構(gòu)數(shù)據(jù)存放時(shí)默認(rèn)按4對(duì)齊,考慮以下程序,輸出結(jié)果為:sizeof(A)=12
            typedef struct _A
            {
                
            int x;
                
            char z[7];
            }
            A;

            void main()
            {
                
            int len = sizeof(A);
                printf(
            "sizeof(A)=%d\n", len);    // len = 12
            }


            使用 #pragma pack,設(shè)置數(shù)據(jù)按1對(duì)齊,此時(shí)輸出結(jié)果為:sizeof(A)=11
            #pragma pack(push)
            #pragma pack(
            1)
            typedef 
            struct _A
            {
                
            int x;
                
            char z[7];
            }
            A;
            #pragma pack(pop)

            void main()
            {
                
            int len = sizeof(A);
                printf(
            "sizeof(A)=%d\n", len);    // len = 11
            }

            posted on 2005-12-13 14:36 冰凍熱狗 閱讀(13231) 評(píng)論(9)  編輯 收藏 引用 所屬分類: 平臺(tái)核心

            評(píng)論

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            無意闖入了貴寶地。正好我也有篇關(guān)于這個(gè)問題的試驗(yàn)。
            http://blog.vckbase.com/zhangjw_cn/archive/2005/08/09/10701.html
            2005-12-17 14:54 | 清風(fēng)雨

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            class TestA{int a; char b; char c; short d;};
            class TestB{int a; char b; short d; char c;};

            sizeof(TestA)的值為8,而
            sizeof(TestB)的值為12
            這是為什么? 是不是多byte的數(shù)據(jù)成員,只能從偶數(shù)偏移位置開始存放?
            2007-05-28 16:45 | 偶爾

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            @偶爾
            整數(shù)倍的地方開始存放
            2007-08-03 17:38 | 路過

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題[未登錄]  回復(fù)  更多評(píng)論   

            short d = 2 , 只能從偶數(shù)開始放 ;
            char c = 1 , 可以從 1 的倍數(shù)位置開始放 ;
            int a = 4 , 就只好從 4 的倍數(shù)位置開始放了啦
            2008-09-27 17:58 | Joe

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            嗯,不錯(cuò)。正好用上

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            你好。。。對(duì)這個(gè)問題。。


            1 對(duì)齊的意思是什么
            2009-04-17 15:14 | 王帥

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            莫非是。。。。。按照4的整數(shù)倍分配內(nèi)存?

            按照1,和按照4對(duì)其有什么優(yōu)缺點(diǎn)沒有。
            2009-04-17 15:16 | 王帥

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            #pragma pack(1)和#pragma pack(3)又有什么區(qū)別呢
            為什么一定是1 求解答
            2011-11-06 12:42 | jemmyLiu

            # re: #pragma pack和數(shù)據(jù)對(duì)齊問題  回復(fù)  更多評(píng)論   

            涉及兩個(gè)問題:
            數(shù)據(jù)結(jié)構(gòu)內(nèi)部的元素按照各自元素的規(guī)則對(duì)齊;
            數(shù)據(jù)結(jié)構(gòu)按照最嚴(yán)格的成員的來對(duì)齊。
            2011-12-21 15:37 | yaohuaxin
            久久久亚洲裙底偷窥综合| 成人久久综合网| 久久精品夜色噜噜亚洲A∨| 久久se精品一区二区| 人妻精品久久无码区| 久久国产免费观看精品3| 欧洲成人午夜精品无码区久久| 婷婷伊人久久大香线蕉AV| 囯产精品久久久久久久久蜜桃| 亚洲中文字幕无码久久精品1| 亚洲成色WWW久久网站| 国产精品美女久久久久久2018| 欧美精品一本久久男人的天堂| 91精品日韩人妻无码久久不卡| 久久国产精品波多野结衣AV| 久久久久久国产精品无码下载| 欧美精品一区二区久久| 久久人人爽人人爽人人片AV不| 久久精品麻豆日日躁夜夜躁| 久久久精品一区二区三区| 久久人人爽人人精品视频| 久久婷婷五月综合97色直播| 久久国产精品无码一区二区三区| 精品国产综合区久久久久久| 伊人久久大香线蕉精品不卡| 色婷婷综合久久久久中文| 久久免费精品一区二区| 久久久久久久国产免费看| 亚洲va中文字幕无码久久不卡| 国产巨作麻豆欧美亚洲综合久久 | 国产99久久九九精品无码| 欧美成人免费观看久久| 久久精品国产久精国产思思| 久久久久97国产精华液好用吗| 久久人人添人人爽添人人片牛牛| 久久久久国产精品| 中文字幕久久波多野结衣av| 精品久久久久久无码中文野结衣| 久久66热人妻偷产精品9| 一级a性色生活片久久无少妇一级婬片免费放 | 久久久久99精品成人片牛牛影视|