高級語言的編譯執行和解釋執行
『壹』 高級語言中的解釋方式和編譯方式的區別
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。
『貳』 編譯執行和解釋執行的區別
一、主體不同
1、編譯執行:由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。
2、解釋執行:將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。
二、優勢不同
1、編譯執行:相比解釋執行編譯執行效率高,佔用資源小,適合復雜程序
2、解釋執行:開發速度快,出現嚴重BUG的幾率小。
三、缺點不同
1、編譯執行:兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。
2、解釋執行:解析需要時間,不生成目標程序而是一句一句的執行的方式會造成計算機資源的浪費,即執行效率低。
『叄』 4.11 C語言,計算機高級語言程序的運行方法有編譯執行和解釋執行
是編譯的
區別:
編譯,是用編譯程序,生成.exe的文件,來執行
解釋,就是解釋一句,執行一句,不必要生成exe的可執行文件。他需要在電腦上有相應程序的解釋程序
如早期的q b語言
『肆』 高級語言的編譯過程,經過哪幾個步驟
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
(4)高級語言的編譯執行和解釋執行擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,對源代碼文件進行測試。以及相關的頭文件,比如Stdio。H.CPP預處理為。我的文件。預編譯。該文件不包含任何宏定義,因為所有宏都已展開,且包含的文件已插入。我提起。
2、編譯過程是對預處理後的文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程通常是整個程序的核心部分,也是最復雜的過程之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可運行的可執行程序。也就是說,您需要鏈接到大量文件以獲得最終可執行文件「a.out」。
4、在鏈接過程中,其他目標文件中定義的函數調用指令需要重新調整,而其他目標文件中定義的變數也存在同樣的問題。
『伍』 為什麼高級語言中存在編譯和解釋兩種編譯方式
編譯方式:事先編好的一個叫做編譯程序的機器語言程序放在計算機中。當高級語言編的源程序輸入計算機時,編譯程序就把源程序自動整個地翻譯成用機器指令表示的目標程序。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。
因此往往需要特定的平台,由於程序執行的是編譯好的二進制文件,這種編譯一旦完成,那麼就只能在特定平台上運行了:編譯是指將源語言轉化為目標計算機的可執行二進制代碼兩者互有優劣,因此速度比較快(相對下面的解釋)。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。 可以這么理解,編譯的結果是另外一種語言,而解釋的就是一種中間語言。
『陸』 計算機高級語言裡面的編譯型和解釋型有什麼區別
答案選b啊
沒有匯編這個過程,匯編是一種語言,不是過程
高級程序語言有兩種:先編譯後執行,和邊邊解釋邊執行(當然還有半解釋半編譯的),無非就是解釋或邊以
比如:basic就是解釋的,兒c/c++
都是編譯的
『柒』 高級語言程序的兩種執行方式是什麼
高級語言的兩種執行方式
一、 解釋方式
所謂解釋方式就是從源程序的第一條語句開始,對每條語句都先解釋,然後馬上執行剛解釋出的這些指令,再對下一條語句做同樣的處理,直到所有語句都處理完。
解釋方式有一個特點,就是翻譯出來的計算機指令並不會存檔(不會生成目標代碼)。執行完這些二進制指令就丟失了。因此,解釋型語言沒執行一次都要重新翻譯並執行。
二、 編譯方式
所謂編譯方式,首先通過編譯程序把整個源程序中的所有語句翻譯為匯編語言源程序,然後再通過匯編程序把匯編語言源程序翻譯為機器語言的機器指令,形成.exe文件(可執行文件),.exe文件是可以直接運行的文件。
(7)高級語言的編譯執行和解釋執行擴展閱讀
1、C、C++、Java、Python等高級語言就是為了克服匯編語言的可移植性差,擺脫硬體底層的設計,用人的思維來編寫程序而設計的。高級語言表達方式接近人類的語言,描述問題的能力強,通用性,可讀性都很高。
2、所有的計算機語言,要想在計算機上運行都需要轉變為機器語言(只有0和1組成的)才能被執行。高級語言通過編譯程序(編譯器)翻譯成機器語言,匯編語言通過匯編程序(匯編器)翻譯為機器語言。
『捌』 C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋
C 語言程序僅可以解釋執行。
解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。
缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。
解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。
(8)高級語言的編譯執行和解釋執行擴展閱讀
1、Python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。
2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 Linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。
『玖』 高級語言按照計算機執行方式不同可以分為哪兩類它們的執行方式有什麼不同,請進行概要說明。
計算機高級語言按程序的執行方式可分為:編譯型和解釋型。
編譯型的語言之使用專門的編譯器、針對特定平台將某種高級語言源代碼一次性「翻譯」成課被該平台硬體執行的機器嗎(包括機器指令和操作數),並包裝成該平台所能識別的可執行性程序的格式,這個轉換過程成為編譯(Compile)。編譯生成的可執行性程序可以脫離開發環境,在特定的平台上獨立運行。有些程序編譯結束後,還可能需要對其他編譯好的目標代碼進行鏈接,級組裝兩個以上的目標代碼模塊生成最終的可執行性程序,通過這種方式實現低層次的代碼復用。因為編譯性慾眼十一磁性的編譯成機器碼,所以可以脫離開發環境獨立運行,且通常運行效率較高;但要移植,則必須將源碼復制到特定平台上,針對特定平台進行修改,至少重新編譯。
解釋型語言是指使用專門的解釋其隊員城西逐行解釋成特定平台的機器嗎並立即執行的語言,解釋型語言通常不會進行整體性的編譯和鏈接處理,解釋型語言相當與把編譯型語言中的編譯和解釋過程混合到了一起同時完成。可以認為:每次執行解釋型語言的程序都需要進行一次編譯,因此解釋型語言的程序運行效率通常較低,而且不能脫離解釋其獨立運行。其優勢在於跨平台容易,只需提供特定平台的解釋其即可。
除此外還有一種偽編譯型語言。如Visual Basic,可以成成可執行性的EXE文件,實際上這個文件中,既有程序的啟動代碼,也有鏈接解釋程序的代碼,而這部分代碼負責啟動Vsuial Basic 解釋程序,再對Vsuial Basic代碼進行解釋並執行。