• <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>
            posts - 9,comments - 14,trackbacks - 0
            				

            對(duì)于C++來(lái)說(shuō),幾乎所有的編譯器都能夠生成匯編指令輸出,而其它語(yǔ)言則不一定。

            以現(xiàn)在Windows平臺(tái)流行的語(yǔ)言來(lái)說(shuō),主要是Visual C++、C++Builder和Delphi(其實(shí)本人也就熟悉這些語(yǔ)言 )。對(duì)于這些語(yǔ)言有相應(yīng)的方法來(lái)獲得其匯編代碼:

            【Visual C++】
            命令行:
            /FA 僅生成匯編文件
            /FAcs 生成匯編、機(jī)器碼以及源代碼的對(duì)照文件
            /FAc 生成匯編、機(jī)器碼的對(duì)照文件
            /FAs 生成匯編、源代碼的對(duì)照文件




            menu: project ==>settingsC/C++屬性頁(yè) Category:選擇Listing Files
            設(shè)置listing file type為Assembly with source code 鍵入需輸出的asm文件名xxx
            [或直接在底下的Project Option欄內(nèi)鍵入' /Fa "xxx" ']









            Link屬性頁(yè) 勾選Generate mapfile
            [或直接在底下的Project Option欄內(nèi)鍵入' /map:"Debug/Test.map" '] OK,工程目錄下將有匯編文件xxx.asm









            【C++Builder】
            命令行:
            /B 生成匯編文件,并調(diào)用匯編程序進(jìn)行匯編
            /S 生成匯編、源代碼的對(duì)照文件


            【Delphi】
            這件事情有點(diǎn)復(fù)雜,實(shí)際上Delphi并不支持匯編輸出,那怎么辦?
            好在Delphi有一個(gè)功能強(qiáng)勁的調(diào)試程序,編譯以后執(zhí)行程序,設(shè)置適當(dāng)?shù)臄帱c(diǎn),通過調(diào)試器提供的反匯編功能對(duì)程序進(jìn)行
            反匯編,從而得到相應(yīng)段落的匯編代碼。





            這實(shí)際上是一種通用的策略,包括上述的Visual C++和C++Builder也可以用同樣的方式進(jìn)行。


            另外一種方法就是要通過一些輔助的反匯編工具了,將這些軟件生成的OBJ文件進(jìn)行反匯編,從而獲得相應(yīng)的代碼。
            當(dāng)然, 其反匯編出來(lái)的文件效果絕對(duì)趕不上這些語(yǔ)言開發(fā)工具自己生成的效果好,可是總還是有些用處的。

            對(duì)于早期的編譯軟件,例如Microsoft的FORTRAN以及編譯BASIC等,這些系統(tǒng)都支持一種代碼輸出的選項(xiàng),
            能夠生成.COD文件。這種文件是偽宏匯編格式的文本文件,其作用基本相當(dāng)于匯編文件,只是通不過重新匯編而已,
            然而,這種文件有時(shí)并不包含源代碼行,看起來(lái)比較費(fèi)勁(這主要是因?yàn)閮杀榫幾g的結(jié)果)。
            posted on 2006-04-19 04:17 陣雨 閱讀(3824) 評(píng)論(1)  編輯 收藏 引用

            FeedBack:
            # re: 讓編譯器生成ASM文件及Map文件
            2007-12-14 10:24 | frank.sunny
            非常感謝指點(diǎn)迷津,這個(gè)東西,我查了好久才在這里查到,蠻有用的  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品永久久久久久久久久| 武侠古典久久婷婷狼人伊人| 成人资源影音先锋久久资源网| 久久亚洲春色中文字幕久久久| 99久久99久久精品免费看蜜桃 | 午夜福利91久久福利| 九九久久精品无码专区| 久久精品一区二区三区中文字幕| 国产精品久久久久久久人人看| 亚洲AV日韩精品久久久久| 久久午夜电影网| 色播久久人人爽人人爽人人片AV| 亚洲AV无一区二区三区久久| 久久国产高潮流白浆免费观看| 国内精品免费久久影院| 亚洲国产精品无码久久| 久久99精品久久久久久噜噜 | 久久免费高清视频| 思思久久99热免费精品6| 国产精品久久自在自线观看| 久久综合狠狠综合久久97色| 精品久久久久久无码专区不卡| 亚洲日本久久久午夜精品| 岛国搬运www久久| 色综合久久无码五十路人妻| 亚洲国产成人久久综合碰| 国产精品九九九久久九九| 亚洲综合久久夜AV | 久久99久久成人免费播放| 国产精品对白刺激久久久| 伊人久久大香线蕉成人| 国产亚洲精午夜久久久久久| 久久久久亚洲AV无码网站| 99久久精品免费看国产一区二区三区 | 热99RE久久精品这里都是精品免费 | 久久久中文字幕| 97r久久精品国产99国产精| 久久影院综合精品| 人妻精品久久无码专区精东影业| 久久国产精品无| 漂亮人妻被中出中文字幕久久|