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