源代碼編譯為可執(zhí)行程序的過程(源代碼編譯為可執(zhí)行程序的過程包括)
1打開c語言編輯工具,在工具中寫入程序的源代碼2完成以后,點(diǎn)擊編譯后點(diǎn)擊組建,然后點(diǎn)擊執(zhí)行3執(zhí)行完程序,點(diǎn)擊回車按鈕選項(xiàng)4點(diǎn)擊文件另存為把文件存到你能夠找到的文件夾中5打開保存在桌面的文件夾,里面。
從源程序文件helloworldc生成可執(zhí)行文件helloworldexe的過程通常分為四個(gè)步驟預(yù)處理編譯匯編和鏈接預(yù)處理在這一步中,預(yù)處理器將源文件中的所有以 quot#quot 開頭的指令處理掉,如 #include#define 等,將頭文件。
1可重定位文件2共享的目標(biāo)文件3可執(zhí)行文件5鏈接程序根據(jù)開發(fā)人員指定的同庫函數(shù)的鏈接方式的不同,鏈接處理可分為兩種1靜態(tài)鏈接2動(dòng)態(tài)鏈接經(jīng)過上述五個(gè)過程,C源程序就最終被轉(zhuǎn)換成。
高級(jí)語言轉(zhuǎn)換為可執(zhí)行程序的過程叫編譯,主要有以下幾個(gè)過程1預(yù)編譯,處理頭文件及查錯(cuò)語法錯(cuò)誤2編譯,把預(yù)處理過的文件編譯成目標(biāo)代碼3鏈接,把所有的目標(biāo)代碼鏈接成可執(zhí)行文件。
以GCC編譯器為例,可以分為四步第一步是預(yù)處理,包括語法檢查等工作gcc P abcc第二步由源程序生產(chǎn)匯編語言代碼gcc S abcc會(huì)生成abcs文件,這個(gè)文件里就是匯編代碼第三步編譯器生成目標(biāo)代碼,一個(gè)源文件。
從源程序文件 quothelloWorldcquot 翻譯成一個(gè)可執(zhí)行文件 quothelloWorldexequot 的過程通常包括以下幾個(gè)步驟編寫源程序文件在文本編輯器中編寫 quothelloWorldcquot 源程序文件,其中包含了要執(zhí)行的代碼,例如 C 語言代碼編譯源程。
鏈接在編譯過程中,源代碼可能會(huì)引用其他庫文件例如標(biāo)準(zhǔn)庫外部庫等鏈接器將這些庫文件與編譯生成的二進(jìn)制代碼合并,形成一個(gè)完整的可執(zhí)行文件優(yōu)化編譯器和鏈接器可能會(huì)對(duì)生成的二進(jìn)制代碼進(jìn)行優(yōu)化,以提高程序。
1第一步,打開C語言編譯軟件,輸入你要執(zhí)行的程序源代碼,如下圖所示2第二步,代碼編寫完成之后,依次點(diǎn)擊”編譯“”組建“”執(zhí)行“三個(gè)選項(xiàng),也可以通過依此右邊的三個(gè)快捷鍵完成上述操作,如下圖所示3第。
1預(yù)處理導(dǎo)入源程序并保存C文件2編譯將源程序轉(zhuǎn)換為目標(biāo)文件Obj文件3鏈接將目標(biāo)文件生成為可執(zhí)行文件EXE文件4運(yùn)行執(zhí)行,獲取運(yùn)行結(jié)果的EXE文件。
2編譯 這一階段,編譯器對(duì)源碼進(jìn)行詞法分析語法分析優(yōu)化等操作,最后生成匯編代碼這是整個(gè)過程中最重要的一步,因此也常把整個(gè)過程稱為編譯可以通過選項(xiàng)S使GCC在進(jìn)行完編譯后停止,生成s的匯編程序例如gcc。
這個(gè)過程有兩個(gè)叫法,編譯或者解釋有些高級(jí)語言在把源程序轉(zhuǎn)換為可執(zhí)行程序的時(shí)候,需要先對(duì)完整的源程序做詞法分析語法分析等一系列檢測(cè),所有語法都沒有問題后,一次性把所有源代碼翻譯成機(jī)器碼,這要求源程序中不能有。
以VC6舉例1打開電腦上安裝的vc60,進(jìn)入如圖界面 2創(chuàng)建一個(gè) cpp或 c的文件,如圖所示,編寫好程序 3編寫好程序后點(diǎn)擊如圖上方畫紅框的圖標(biāo)來編譯寫好的程序彈出如圖對(duì)話框時(shí)點(diǎn)是 4編譯好后界面左下。
C語言寫的代碼程序肯定是源程序,B是對(duì)的,它不能立即執(zhí)行,必須經(jīng)過編譯成可執(zhí)行代碼,所以A是錯(cuò)誤的如果這個(gè)源程序中不含有main函數(shù),編譯后的代碼也是不可執(zhí)行的,所以C是錯(cuò)誤的C語言不是解釋執(zhí)行的,D也不正確。
3第三步,執(zhí)行完上面的操作之后,單擊“工具”選項(xiàng),見下圖,轉(zhuǎn)到下面的步驟4第四步,執(zhí)行完上面的操作之后,單擊“查看源代碼”選項(xiàng),見下圖,轉(zhuǎn)到下面的步驟5第五步,執(zhí)行完上面的操作之后,可以輕松查看網(wǎng)站的。
語法分析中間代碼生成代碼優(yōu)化目標(biāo)代碼生成2編譯程序的工作過程一般自始至終伴隨進(jìn)行信息表管理和出錯(cuò)處理兩項(xiàng)工作主要是進(jìn)行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯(cuò)誤,給出提示信息。
編譯過程會(huì)產(chǎn)生o文件目標(biāo)文件鏈接后產(chǎn)生可執(zhí)行文件目標(biāo)代碼包括機(jī)器碼和符號(hào)表函數(shù)及變量名連接器的主要作用是通過符號(hào)表在庫文件和其他模塊中找到在目標(biāo)代碼中引入或未定義的符號(hào)函數(shù)及變量名,將幾個(gè)目標(biāo)。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。