• <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>

            聚星亭

            吾笨笨且懶散兮 急須改之而奮進(jìn)
            posts - 74, comments - 166, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            以下內(nèi)容引用與 Pediy.com
            1.Jmp stub Function
                    考慮以下函數(shù):
                            Void Test(){}
                            Void main()
                            { test();}
                    在debug情況下,編譯后
                            Void Jmp_Test()
                            {
                                        Jmp to Real_test();
                            }
                            Void main()
                            {jmp_test()}
            如何讓編譯器不產(chǎn)生Jmp Stub function。
            解決方法,在Link選項中去掉Increment link.

            2.自定義節(jié),數(shù)據(jù)代碼合并在一個節(jié)
                    #pragma data_seg(".mydat") //指定該.cpp/.c(其實應(yīng)該是某個.obj文件) 數(shù)據(jù)存放的節(jié)

            注意:        Dword a; //  未初始化,數(shù)據(jù)仍保存在.data節(jié)
                                Dword a=0; //這樣a就保存到.mydat節(jié)了

                    #pragma code_seg(".shell")//指定該.cpp/.c(其實應(yīng)該是某個.obj文件) 代碼存放的節(jié)
                    #pragma comment(linker,"/SECTION:.mydat,RWE") //修改節(jié)屬性
                    #pragma comment(linker,"/SECTION:.shell,RWE")
                    #pragma comment(linker,"/MERGE:.mydat=.shell")//兩節(jié)合并到.shell節(jié)

            3.__declspec(naked)聲明的函數(shù)不能使用局部變量

            4.char[]
            char test[]=”test”//假定 此處地址為0x4001000
            void main()
            {
                printf(“%x”,test);
                printf(“%x”,&test);
            }//執(zhí)行以上代碼分別輸出什么
            答案:兩個都輸出0x4001000,哈哈,沒想到吧。

            5.char*與char[]
            char* test1=”test”;
            char test2[]=”test”
            考慮下執(zhí)行該程序會產(chǎn)生什么狀況
            void main()
            {
                test1=”new test”;
                test2=”new test”;
            }
            考慮下再看答案





            編譯后是這樣的。
            atest db ‘test’,0
            Test1  dd  offset of attest
            Test2 db ‘test’,0
            所以test2=”new test”;編譯過不了,當(dāng)然我們?nèi)匀荒軌蛲ㄟ^memcpy給test2賦值

            6.數(shù)據(jù)對齊
            Word a;
            Char str[]=”ddddd”;
            Void main()
            {
              Printf(”%d”,&str-&a);//輸出什么,考慮一下
            }
            答案:可能輸出2,也可能輸出4

            以后我會自己總結(jié)一些貼過來的!
            久久久久久狠狠丁香| 亚洲欧洲久久av| 日本五月天婷久久网站| 久久精品亚洲AV久久久无码| 欧洲人妻丰满av无码久久不卡| 77777亚洲午夜久久多喷| 久久久久18| 亚洲精品乱码久久久久久自慰 | 日韩精品久久久久久免费| 久久亚洲私人国产精品| 精品久久久久一区二区三区 | 国产一级做a爰片久久毛片| 成人久久免费网站| 99久久久精品| 99久久国产主播综合精品| 国产产无码乱码精品久久鸭| 久久久久AV综合网成人 | 一级做a爰片久久毛片16| 99久久精品费精品国产| 亚洲精品99久久久久中文字幕| 国产成人久久精品一区二区三区| 91精品国产91久久综合| 久久久久无码专区亚洲av| 性做久久久久久久| 久久久久久久综合综合狠狠| 亚洲精品白浆高清久久久久久 | 国内精品久久久久伊人av| yellow中文字幕久久网| 日本久久久久亚洲中字幕| 四虎国产永久免费久久| 久久精品国产2020| 久久久久99精品成人片牛牛影视| 久久青青草原亚洲av无码app| 久久久精品波多野结衣| 亚洲国产另类久久久精品 | 久久精品亚洲乱码伦伦中文| 日本久久久久亚洲中字幕| 久久久久亚洲AV成人网人人网站| 久久久久综合国产欧美一区二区| 日韩欧美亚洲国产精品字幕久久久| 日韩乱码人妻无码中文字幕久久|