c程序經(jīng)過編譯生成什么 c語言中的源程序必須經(jīng)過編譯連接生成可執(zhí)行程序才能運行,這句話是對不對?
c語言中的源程序必須經(jīng)過編譯連接生成可執(zhí)行程序才能運行,這句話是對不對?建議大家看看計算機的一些原理。就像你說的,我會認為計算機最終只能識別二進制代碼所以事實上,不管我們使用什么語言,我們最終都會通過
c語言中的源程序必須經(jīng)過編譯連接生成可執(zhí)行程序才能運行,這句話是對不對?
建議大家看看計算機的一些原理。就像你說的,我會認為計算機最終只能識別二進制代碼
所以事實上,不管我們使用什么語言,我們最終都會通過編譯器將它們編譯成二進制代碼,這樣計算機才能識別它們
并運行它們。用C語言編寫的程序必須經(jīng)過一系列的編譯、鏈接和生成可執(zhí)行代碼文檔。
在Windows系統(tǒng)中,可執(zhí)行文件都由擴展。執(zhí)行。但在Linux系統(tǒng)中是不同的。Linux
系統(tǒng)不區(qū)分擴展名,所以文件的類型無關(guān)緊要。Exe,只要知道可執(zhí)行文件
就會生成二進制文件。
用C語言編寫的代碼程序( B ) A)可立即執(zhí)行B)是一個源程序C)經(jīng)過編譯即可執(zhí)行D)?
用C語言編寫的代碼程序必須是源程序,B是對的,它不能立即執(zhí)行,必須編譯成可執(zhí)行代碼,所以a是錯的,如果源程序不包含主函數(shù),編譯后的代碼也不能執(zhí)行,所以C是錯的,C語言不能解釋和執(zhí)行,D也是不對的
兄弟,這種理解是對的,但感覺有點膚淺。建議看一下計算機的一些原理。正如你所說的,我認為計算機最終只能識別二進制代碼,所以實際上,無論我們使用什么語言,它們都是通過編譯器編譯成二進制代碼,以便被計算機識別和運行的。用C語言編寫的程序必須經(jīng)過一系列編譯、鏈接和生成可執(zhí)行文件的過程。在Windows系統(tǒng)中,可執(zhí)行文件都由擴展。執(zhí)行。然而,在Linux系統(tǒng)中,這是不同的。Linux系統(tǒng)不區(qū)分擴展,所以不管是什么。Exe文件是,只要知道會生成可執(zhí)行的二進制文件。
用C語言編寫的源程序必須經(jīng)過編譯連接后,生成擴展名為.EXE的可執(zhí)行文件,才能運行?對嗎?
回答錯誤,系統(tǒng)將生成目標文件,選擇B。因為C語言的編譯器是將源程序翻譯成目標程序的工作過程。這個過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優(yōu)化;目標代碼生成。在語法分析過程中,如果出現(xiàn)語法錯誤,會給出提示信息。如果沒有錯誤,將生成目標文件。C語言通過匯編將匯編語言代碼翻譯成目標機器指令。對于翻譯系統(tǒng)處理的每一個C語言源程序,最終處理后將得到相應的目標文件。目標文件中存儲的目標機器語言代碼相當于源程序。將C語言源文件擴展到目標文件的過程:1。對源文件進行預處理以生成源文件。I文件(預處理器CPP)。
2. 將預處理后的文件轉(zhuǎn)換成匯編語言生成文件。的文件。
3. 從程序集到目標代碼(機器代碼),生成。O(。Obj)文件(匯編程序)。
4. 連接目標代碼以生成可執(zhí)行程序(連接器LD)。
用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將( )?
您可以看到后綴。一般來說,C語言源文件的擴展名是。C、 目標文件的擴展名為。Obj,可執(zhí)行文件的擴展名為。執(zhí)行。C程序首先從源文件編譯生成目標文件,然后通過連接生成可執(zhí)行文件。一般來說,源文件和目標文件不能直接運行,只有在編譯器將它們轉(zhuǎn)換為可執(zhí)行文件后才能運行。