国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

HelloWorld背后的故事!在運(yùn)行exe可執(zhí)行文件前到底發(fā)生了什么?

2020-03-30 22:12 作者:C語(yǔ)言編程__Plus  | 我要投稿

人物介紹

故事簡(jiǎn)介

編寫源文件 → 預(yù)編譯 →編譯 →匯編 →?鏈接

一、編寫源文件

??源代碼:

二、預(yù)編譯

預(yù)編譯輸入命令g++ -o HelloWorld.i -E HelloWorld.cpp

??該命令表示編譯環(huán)節(jié)的第一步,也就是預(yù)編譯!當(dāng)然,這一步也可以被稱為“編譯預(yù)處理”!而這個(gè) HelloWorld.i 即是預(yù)編譯過(guò)后的文件!

序號(hào)主要行為

值得注意:這一步不會(huì)做出任何安全性和合法性的檢查!

三、編譯

編譯請(qǐng)輸入命令g++ -o HelloWorld.s -S HelloWorld.i

??該命令表示編譯過(guò)程,也就是生成相應(yīng)的匯編文件 HelloWorld.s 。

補(bǔ)充說(shuō)明:其中語(yǔ)義分析又可以分為“靜態(tài)語(yǔ)義分析”和“動(dòng)態(tài)語(yǔ)義分析”兩種。

四、匯編

? ? ? ?匯編請(qǐng)輸入命令:g++ -o HelloWorld.o -C HelloWorld.s

??該命令表示對(duì) HelloWorld.s 文件進(jìn)行匯編處理,生成對(duì)應(yīng)的可重定位的二進(jìn)制文件 HelloWorld.o ,也就是我們所熟知的機(jī)器語(yǔ)言對(duì)應(yīng)的文件。

五、鏈接

? ? ? ?鏈接請(qǐng)輸入命令:g++ HelloWorld.cpp -o HelloWorld.exe

??通過(guò)調(diào)用鏈接器ld來(lái)鏈接程序運(yùn)行需要的一大堆目標(biāo)文件,以及所依賴的其它庫(kù)文件,最后生成可執(zhí)行文件., 鏈接的主要內(nèi)容是把各個(gè)模塊之間相互引用的部分處理好,使得各個(gè)模塊之間能夠正確地銜接。

需要指出:鏈接分為“靜態(tài)鏈接”和“動(dòng)態(tài)鏈接”。

需要補(bǔ)充:

額外說(shuō)明:

相冊(cè)

預(yù)編譯后的文件HelloWorld.i

??可以看到,代碼量驚人的大!足足有兩萬(wàn)多行!可想這個(gè)HelloWorld也不簡(jiǎn)單?。?/p>

編譯后的文件HelloWorld.s

??很明顯看出,此時(shí)代碼精簡(jiǎn)了很多!

匯編后的文件HelloWorld.o

??可以看出,記事本已經(jīng)顯示亂碼了!

幫忙的朋友

文章就到這里了,謝謝閱讀!希望你能重新認(rèn)識(shí)編程哦~

關(guān)注UP,了解更多C/C++小知識(shí)~

歡迎評(píng)論、點(diǎn)贊、收藏、投幣、轉(zhuǎn)發(fā)

HelloWorld背后的故事!在運(yùn)行exe可執(zhí)行文件前到底發(fā)生了什么?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永安市| 德惠市| 中方县| 尼玛县| 汤原县| 乡宁县| 石河子市| 丹江口市| 肇州县| 莫力| 广元市| 周宁县| 长春市| 宕昌县| 彝良县| 彭阳县| 阳谷县| 固安县| 大方县| 盐城市| 巴中市| 清水河县| 通江县| 翁牛特旗| 大新县| 康马县| 柳林县| 嘉禾县| 基隆市| 阜宁县| 嘉兴市| 巫山县| 彰化市| 通河县| 沅江市| 杨浦区| 长寿区| 镇雄县| 呼图壁县| 泽州县| 绩溪县|