系統(tǒng)軟件 編譯程序?qū)υ闯绦虻恼Z言是解釋一句執(zhí)行一句?
編譯程序?qū)υ闯绦虻恼Z言是解釋一句執(zhí)行一句?C程序只能解釋和執(zhí)行。解釋器以源程序(如basic)為輸入,解釋一個句子,然后提交給計算機執(zhí)行。它不構(gòu)成目標程序。編譯器以高級語言(如FORTRAN、COBO
編譯程序?qū)υ闯绦虻恼Z言是解釋一句執(zhí)行一句?
C程序只能解釋和執(zhí)行。解釋器以源程序(如basic)為輸入,解釋一個句子,然后提交給計算機執(zhí)行。它不構(gòu)成目標程序。編譯器以高級語言(如FORTRAN、COBOL、Pascal、C等)的源程序為輸入,進行翻譯和轉(zhuǎn)換,生成機器語言的目標程序,然后由計算機執(zhí)行目標程序得到計算結(jié)果。與編譯語言相比,它具有良好的可移植性。只要有解釋器環(huán)境,程序就可以在不同的操作系統(tǒng)上運行。缺點是代碼需要一個特殊的解釋器。程序運行時,解釋器除了為用戶程序本身分配內(nèi)存空間外,還占用系統(tǒng)資源,因此運行速度慢。另外,像C、C這樣的操作系統(tǒng)底層操作也很難達到目的,在速度要求不高(如一些web腳本等)和跨平臺(操作系統(tǒng)兼容性)要求的情況下,常常使用解釋性語言。
計算機編譯程序的功能是什么?
編譯器和解釋器都是計算機語言處理程序。主要區(qū)別是:解釋器直接執(zhí)行源程序或源程序的內(nèi)部形式,一般讀取源程序的一句話,翻譯一句話,執(zhí)行一句話,不產(chǎn)生目標代碼,如基本解釋器。編譯器是將用高級語言編寫的源程序翻譯成等價的低級語言的目標程序。編譯器和解釋器最大的區(qū)別之一是前者生成目標代碼,后者不生成;另外,編譯器生成的目標代碼的執(zhí)行速度比解釋器快;后者具有良好的人機交互,適合初學者。
c語言中的源程序必須經(jīng)過編譯連接生成可執(zhí)行程序才能運行,這句話是對不對?
建議看一下計算機的一些原理。就像你說的,我會認為計算機最終只能識別二進制代碼
所以事實上,不管我們使用什么語言,我們最終都會通過編譯器將它們編譯成二進制代碼,這樣計算機才能識別它們
并運行它們。用C語言編寫的程序必須經(jīng)過一系列的編譯、鏈接和生成可執(zhí)行代碼文檔。
在Windows系統(tǒng)中,可執(zhí)行文件都由擴展。執(zhí)行。但在Linux系統(tǒng)中是不同的。Linux
系統(tǒng)不區(qū)分擴展名,所以文件的類型無關緊要。Exe,只要知道可執(zhí)行文件
就會生成二進制文件。