源代碼到可執(zhí)行程序一般要經(jīng)歷編譯(源代碼到可執(zhí)行程序一般要經(jīng)歷編譯兩個(gè)過(guò)程)
高級(jí)語(yǔ)言編寫的程序轉(zhuǎn)換為計(jì)算機(jī)能直接執(zhí)行的目標(biāo)程序,必須經(jīng)過(guò)編譯,此題選B;目標(biāo)程序不能運(yùn)行,必須再經(jīng)過(guò)連接成可執(zhí)行文件才能運(yùn)行而且像java 和c#的程序編譯后也不是目標(biāo)程序。
當(dāng)你用 GCC 編譯 C 代碼時(shí), 它會(huì)試著用最少的時(shí)間完成編譯并且使編譯后的 代碼易于調(diào)試 易于調(diào)試意味著編譯后的代碼與源代碼有同樣的執(zhí)行次序, 編譯后 的代碼沒有經(jīng)過(guò)優(yōu)化 有很多選項(xiàng)可用于告訴 GCC 在耗費(fèi)更多編譯時(shí)間和犧牲易;對(duì)的,C語(yǔ)言是先編譯后執(zhí)行,一般只要不出錯(cuò)誤,編譯完就可以執(zhí)行力有時(shí)候還要考慮是否跨平臺(tái)。
編譯程序把一個(gè)源程序翻譯成目標(biāo)程序的工作過(guò)程分為五個(gè)階段詞法分析語(yǔ)法分析語(yǔ)義檢查和中間代碼生成代碼優(yōu)化目標(biāo)代碼生成主要是進(jìn)行詞法分析和語(yǔ)法分析,又稱為源程序分析,分析過(guò)程中發(fā)現(xiàn)有語(yǔ)法錯(cuò)誤,給出提示信息;開發(fā)一個(gè)C語(yǔ)言程序需要經(jīng)過(guò)的四個(gè)步驟編輯編譯連接運(yùn)行C語(yǔ)言程序可以使用在任意架構(gòu)的處理器上,只要那種架構(gòu)的處理器具有對(duì)應(yīng)的C語(yǔ)言編譯器和庫(kù),然后將C源代碼編譯連接成目標(biāo)二進(jìn)制文件之后即可運(yùn)行1編輯。
從源代碼到生成可執(zhí)行程序的過(guò)程中,不包括
1、兩種方式各有利弊,編譯的方式對(duì)于程序員要求較高,源代碼中不能出現(xiàn)任何錯(cuò)誤,最終的程序才能執(zhí)行,但一旦通過(guò)了編譯,則生成的可執(zhí)行代碼執(zhí)行效率會(huì)很高而解釋方式可以邊寫代碼邊調(diào)試,但執(zhí)行的效率較低。
2、目標(biāo)程序一般是指從源代碼編譯鏈接生成的最終程序一般是可執(zhí)行文件 計(jì)算機(jī)程序的執(zhí)行方式與平臺(tái)有關(guān),不太清楚樓主想問(wèn)的到底是什么 程序的編輯一般是指編輯修改程序的源代碼 程序的編譯一般是指用編譯器將源。
3、任何一個(gè)體系結(jié)構(gòu)處理器上都可以使用C語(yǔ)言程序,只要該體系結(jié)構(gòu)處理器有相應(yīng)的C語(yǔ)言編譯器和庫(kù),那么C源代碼就可以編譯并連接到目標(biāo)二進(jìn)制文件上運(yùn)行1預(yù)處理導(dǎo)入源程序并保存C文件2編譯將源程序轉(zhuǎn)換為目標(biāo)。
4、開發(fā)一個(gè)C語(yǔ)言程序需要經(jīng)過(guò)的四個(gè)步驟編輯編譯連接運(yùn)行C語(yǔ)言程序可以使用在任意架構(gòu)的處理器上,只要那種架構(gòu)的處理器具有對(duì)應(yīng)的C語(yǔ)言編譯器和庫(kù),然后將C源代碼編譯連接成目標(biāo)二進(jìn)制文件之后即可運(yùn)行1預(yù)處理。
5、所以其實(shí)不管我們一切啥語(yǔ)言,最終都是通過(guò)編譯器編譯成二進(jìn)制碼,計(jì)算機(jī)才能識(shí)別 而去運(yùn)行,而c語(yǔ)言編寫的程序,肯定是要經(jīng)過(guò)一系列的編譯,鏈接,生成可執(zhí)行的文件在windows系統(tǒng)中,執(zhí)行文件都是exe為擴(kuò)展名的不過(guò)在。
6、一般經(jīng)過(guò)編譯程序編譯后就可以直接執(zhí)行了編譯程序一般有兩種執(zhí)行方式一種是邊解釋邊執(zhí)行,一次將一條指令通過(guò)編譯程序編譯成機(jī)器代碼后執(zhí)行,然后再編譯下一條指令,此種方式必須通過(guò)編譯程序來(lái)協(xié)助完成另外一種是通過(guò)編譯。
源代碼到可執(zhí)行程序一般要經(jīng)歷編譯嗎
以GCC編譯器為例,可以分為四步第一步是預(yù)處理,包括語(yǔ)法檢查等工作gcc P abcc第二步由源程序生產(chǎn)匯編語(yǔ)言代碼gcc S abcc會(huì)生成abcs文件,這個(gè)文件里就是匯編代碼第三步編譯器生成目標(biāo)代碼,一個(gè)源文件。
高級(jí)語(yǔ)言轉(zhuǎn)換為可執(zhí)行程序的過(guò)程叫編譯,主要有以下幾個(gè)過(guò)程1預(yù)編譯,處理頭文件及查錯(cuò)語(yǔ)法錯(cuò)誤2編譯,把預(yù)處理過(guò)的文件編譯成目標(biāo)代碼3鏈接,把所有的目標(biāo)代碼鏈接成可執(zhí)行文件。
C源程序到運(yùn)行程序步驟1編輯輸入源程序并存盤C2編譯將源程序翻譯為目標(biāo)文件OBJ3鏈接將目標(biāo)文件生成可執(zhí)行文件 EXE4運(yùn)行執(zhí)行EXE文件,得到運(yùn)行結(jié)果 本回答被網(wǎng)友采納 已贊過(guò) 已踩過(guò)lt 你對(duì)這個(gè)回答的評(píng)價(jià)是。
編譯類編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼機(jī)器語(yǔ)言,因此其目標(biāo)程序可以脫離其語(yǔ)言環(huán)境獨(dú)立執(zhí)行,使用比較方便效率較高但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。