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