日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编和可执行文件(Debug和Release)

發(fā)布時(shí)間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编和可执行文件(Debug和Release) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

匯編和可執(zhí)行文件

匯編約等于機(jī)器碼

?

C/C++->編譯器->匯編(機(jī)器)

?

編譯后產(chǎn)生匯編代碼然后在LINK

所有的CPU只認(rèn)識匯編,在操作系統(tǒng)中90%的API沒有對應(yīng)的匯編代碼。

?

1.obj:匯編代碼,無法執(zhí)行,不符合OS要求

2.Link:生成OS認(rèn)識的對應(yīng)格式的文件,這屬于深加工

?

可以像下面的例子

源代碼=生豬

編譯=把生豬宰殺變成豬肉

Link=加油鹽醬醋青椒最后變成青椒炒肉

?

如windows下Link要加PE結(jié)構(gòu)(逆向、加殼要使了解)

?

在編程中有兩個(gè)版本一個(gè)是Debug一個(gè)是Release

Debug和Release生成的代碼不一樣,因?yàn)橛玫木幾g優(yōu)化不能

我們現(xiàn)在來演示!!!

代碼如下:

int main() {return 0; }

分別在Debug和Release下編譯鏈接



我們打開文件夾,看看他們的文件大小


左邊的為Debug程序,右邊為Release程序。可以發(fā)現(xiàn)Release的代碼是經(jīng)過優(yōu)化的,他生成的文件比Debug的小。

下面我們把他轉(zhuǎn)到反匯編,就更加清楚明白了!

現(xiàn)在先展示Debug下的:


下面是Release版本下的


由此可以看見Release是經(jīng)過優(yōu)化后的代碼,在一般編程的時(shí)候,我們要用Debug方式來調(diào)試?

總結(jié)

以上是生活随笔為你收集整理的汇编和可执行文件(Debug和Release)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。