自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

當(dāng)前位置:首頁(yè) > 軟件開(kāi)放 > 正文內(nèi)容

源代碼生成可執(zhí)行程序過(guò)程(編程程序直接生成可執(zhí)行文件)

軟件開(kāi)放2年前 (2023-01-20)1080

本篇文章給大家談?wù)勗创a生成可執(zhí)行程序過(guò)程,以及編程程序直接生成可執(zhí)行文件對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。

本文目錄一覽:

把高級(jí)語(yǔ)言編寫(xiě)的源程序轉(zhuǎn)換為可執(zhí)行程序的過(guò)程叫什么?

高級(jí)語(yǔ)言轉(zhuǎn)換為可執(zhí)行程序的過(guò)程叫編譯,主要有以下幾個(gè)過(guò)程:

1、預(yù)編譯,處理頭文件及查錯(cuò)(語(yǔ)法錯(cuò)誤);

2、編譯,把預(yù)處理過(guò)的文件編譯成目標(biāo)代碼;

3、鏈接,把所有的目標(biāo)代碼鏈接成可執(zhí)行文件。

C語(yǔ)言源程序到運(yùn)行程序經(jīng)過(guò)哪幾個(gè)步驟

1、預(yù)處理

在這一階段,源碼中的所有預(yù)處理語(yǔ)句得到處理,例如:#include語(yǔ)句所包含的文件內(nèi)容替換掉語(yǔ)句本身,所有已定義的宏被展開(kāi)。

根據(jù)#ifdef,#if等語(yǔ)句的條件是否成立取舍相應(yīng)的部分,預(yù)處理之后源碼中不再包含任何預(yù)處理語(yǔ)句。

GCC預(yù)處理階段可以生成.i的文件,通過(guò)選項(xiàng)-E可以使編譯器在預(yù)處理結(jié)束時(shí)就停止編譯。例如:gcc -E -o hello.i hello.c

2、編譯

這一階段,編譯器對(duì)源碼進(jìn)行詞法分析、語(yǔ)法分析、優(yōu)化等操作,最后生成匯編代碼。這是整個(gè)過(guò)程中最重要的一步,因此也常把整個(gè)過(guò)程稱(chēng)為編譯。

可以通過(guò)選項(xiàng)-S使GCC在進(jìn)行完編譯后停止,生成.s的匯編程序。例如:gcc -S -o hello.s hello.c

3、匯編

這一階段使用匯編器對(duì)匯編代碼進(jìn)行處理,生成機(jī)器語(yǔ)言代碼,保存在后綴為.o的目標(biāo)文件中。

當(dāng)程序由多個(gè)代碼文件構(gòu)成時(shí),每個(gè)文件都要先完成匯編工作,生成.o目標(biāo)文件后,才能進(jìn)入下一步的鏈接工作。

目標(biāo)文件已經(jīng)是最終程序的某一部分了,只是在鏈接之前還不能執(zhí)行。可以通過(guò)-c選項(xiàng)生成目標(biāo)文件:gcc -c -o hello.o hello.c

4、鏈接

經(jīng)過(guò)匯編以后的機(jī)器代碼還不能直接運(yùn)行。為了使操作系統(tǒng)能夠正確加載可執(zhí)行文件,文件中必須包含固定格式的信息頭,還必須與系統(tǒng)提供的啟動(dòng)代碼鏈接起來(lái)才能正常運(yùn)行,這些工作都是由鏈接器來(lái)完成的。gcc -o hello hello.c

5、運(yùn)行:執(zhí)行.EXE文件,得到運(yùn)行結(jié)果。

一個(gè)源程序(.c)變成可執(zhí)行(.exe)文件要經(jīng)過(guò)幾個(gè)步驟?詳細(xì)一點(diǎn)

以GCC編譯器為例,可以分為四步。

第一步是預(yù)處理,包括語(yǔ)法檢查等工作。

gcc

-P

abc.c

第二步由源程序生產(chǎn)匯編語(yǔ)言代碼。

gcc

-S

abc.c

會(huì)生成abc.s文件,這個(gè)文件里就是匯編代碼。

第三步編譯器生成目標(biāo)代碼,一個(gè)源文件生成一個(gè)目標(biāo)代碼。

gcc

-c

abc.c

會(huì)生成abc.o

第四步連接器從目標(biāo)代碼生成可執(zhí)行文件。

目標(biāo)代碼包括機(jī)器碼和符號(hào)表(函數(shù)及變量名)。連接器的主要作用是通過(guò)符號(hào)表在庫(kù)文件和其他模塊中找到在目標(biāo)代碼中引入或未定義的符號(hào)(函數(shù)及變量名),將幾個(gè)目標(biāo)代碼合成可執(zhí)行文件。

關(guān)于源代碼生成可執(zhí)行程序過(guò)程和編程程序直接生成可執(zhí)行文件的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

掃描二維碼推送至手機(jī)訪(fǎng)問(wèn)。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.thonggone.com/post/4760.html

“源代碼生成可執(zhí)行程序過(guò)程(編程程序直接生成可執(zhí)行文件)” 的相關(guān)文章

做app軟件大概多少錢(qián)(做app多少錢(qián)一個(gè))

做app軟件大概多少錢(qián)(做app多少錢(qián)一個(gè))

今天給各位分享做app軟件大概多少錢(qián)的知識(shí),其中也會(huì)對(duì)做app多少錢(qián)一個(gè)進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、app制作要多少錢(qián)? 2、開(kāi)發(fā)一個(gè)app需多少錢(qián) 3、做個(gè)app軟件大約多少錢(qián)? 4、做一個(gè)APP要花多少錢(qián)? 5、做一個(gè)...

長(zhǎng)春軟件開(kāi)發(fā)(長(zhǎng)春軟件開(kāi)發(fā)公司招聘)

長(zhǎng)春軟件開(kāi)發(fā)(長(zhǎng)春軟件開(kāi)發(fā)公司招聘)

本篇文章給大家談?wù)勯L(zhǎng)春軟件開(kāi)發(fā),以及長(zhǎng)春軟件開(kāi)發(fā)公司招聘對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、長(zhǎng)春長(zhǎng)伴未來(lái)公司靠譜嗎 2、長(zhǎng)春有哪些好的軟件開(kāi)發(fā)公司?我是學(xué)JAVA的,再有女生適合做這行業(yè)嗎? 3、長(zhǎng)春都有那些軟件開(kāi)發(fā)公司 4、長(zhǎng)春市中級(jí)軟件開(kāi)發(fā)工程...

夢(mèng)幻西游藏寶閣手游交易平臺(tái)(夢(mèng)幻西游藏寶閣手游交易平臺(tái)混服)

夢(mèng)幻西游藏寶閣手游交易平臺(tái)(夢(mèng)幻西游藏寶閣手游交易平臺(tái)混服)

今天給各位分享夢(mèng)幻西游藏寶閣手游交易平臺(tái)的知識(shí),其中也會(huì)對(duì)夢(mèng)幻西游藏寶閣手游交易平臺(tái)混服進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、夢(mèng)幻西游手游有藏寶閣嗎 2、夢(mèng)幻西游藏寶閣在哪里? 3、手游《夢(mèng)幻》有藏寶閣嗎? 4、夢(mèng)幻西游藏寶閣在哪里...

LOL手游怎么賣(mài)號(hào)(lol手游賣(mài)號(hào)吧)

LOL手游怎么賣(mài)號(hào)(lol手游賣(mài)號(hào)吧)

本篇文章給大家談?wù)凩OL手游怎么賣(mài)號(hào),以及l(fā)ol手游賣(mài)號(hào)吧對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、英雄聯(lián)盟手游賬號(hào)好賣(mài)么 2、請(qǐng)問(wèn)lol手游怎么租號(hào)? 3、5173怎么賣(mài)LOL號(hào)?就是在提交賬號(hào)信息前要做什么?要解除什么?密碼要嗎?怎么弄啊 4、lol...

ug軟件下載官方網(wǎng)站(ug軟件手機(jī)版下載)

ug軟件下載官方網(wǎng)站(ug軟件手機(jī)版下載)

本篇文章給大家談?wù)剈g軟件下載官方網(wǎng)站,以及ug軟件手機(jī)版下載對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、誰(shuí)有UG軟件下載的網(wǎng)站???確定可用的,最好是能配套u(yù)g教程,ug8.0,ug8.5都可以 2、UG軟件怎么下載和安裝?圖文教程 3、UG4.0軟件下載地址...

用Python設(shè)計(jì)小游戲(python設(shè)計(jì)小游戲誰(shuí)先走到17誰(shuí)就贏)

用Python設(shè)計(jì)小游戲(python設(shè)計(jì)小游戲誰(shuí)先走到17誰(shuí)就贏)

本篇文章給大家談?wù)動(dòng)肞ython設(shè)計(jì)小游戲,以及python設(shè)計(jì)小游戲誰(shuí)先走到17誰(shuí)就贏對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、Python實(shí)現(xiàn)消消樂(lè)小游戲 2、用Python寫(xiě)一個(gè)簡(jiǎn)單的小游戲 3、python簡(jiǎn)單小游戲代碼 怎么用Python制作簡(jiǎn)單小...