導航:首頁 > 源碼編譯 > 簡述編譯執行程序比解譯執行具有的優點

簡述編譯執行程序比解譯執行具有的優點

發布時間:2023-06-12 23:50:05

1. 編譯程序和解釋程序有何區別

編譯程序是整體編譯完了,再一次性執行。
而解釋程序是一邊解釋,一邊執行。
解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。

2. 編譯後的程序比邊解釋邊執行的程序的運行速度快嗎為什麼

程序的編譯是指將人可以理解的代碼(如C的源代碼)段編譯成機器指令碼(二級制指令),也就是處理堆棧、處理器、匯流排的指令,交由計算機自動執行。解釋型語言是在需要執行時臨時編譯運行,執行時多了編譯的過程,自然就要慢的多了。
比較特殊的是java,javac命令編譯的結果雖然也是二進制文件,但實際也不是機器指令,而是優化後的代碼,最後的執行是通過java虛擬機再次編譯後執行。所以效率介於編譯型和解釋型之間。
目前java的執行速度已經有了大幅度的提升,但要想趕上或超越C 或者匯編,理論上是不現實的。

3. 編譯程序的優點是什麼啊解釋程序的優點又是什麼

5、 編譯程序和解釋程序
高級語言程序同樣要翻譯成二進製程序才能執行。
高級語言的兩種執行方式:
(1) 解釋方式:翻譯一條,執行一條 特點:慢,但占空間小
(2) 編譯方式:翻譯成目標程序,然後運行目標程序 特點:快,但佔用空間大 (考點)

4. 計算機中:解釋程序與編譯程序:的相同點與不同點是什麼

編譯程序、解釋程序均是計算機語言處理程序。
其區別主要為:
解釋程序直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如BASIC解釋程序。編譯程序是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。

5. 編譯和解釋的區別是什麼

編譯和解釋的區別是與計算機的交流方式不同、運行環境不同、運行速度不同。

一、與計算機的交流方式不同

編譯是將源程序翻譯成可執行的目標代碼,執行可執行程序文件,翻譯與執行是分開的。

解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋邊執行,解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。

二、運行環境不同

編譯程序跨平台性不好,不同操作系統,調用底層的機器指令不同,需為不同平台生成不同的機器碼文件,編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件。

解釋程序可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,源代碼所有平台都可以直接執行,解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果。

三、運行速度不同

編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。

解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多。

6. 編譯執行和解釋執行的區別

一、主體不同

1、編譯執行:由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。

2、解釋執行:將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。

二、優勢不同

1、編譯執行:相比解釋執行編譯執行效率高,佔用資源小,適合復雜程序

2、解釋執行:開發速度快,出現嚴重BUG的幾率小。


三、缺點不同

1、編譯執行:兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。

2、解釋執行:解析需要時間,不生成目標程序而是一句一句的執行的方式會造成計算機資源的浪費,即執行效率低。


7. 解釋執行的語言相比編譯執行的語言有什麼優缺點

我自己理解的解釋執行的優點,不依賴於平台,因為每次都會根據不同的平台對語句進行解析,像JS就凳咐是一種邊解釋邊執行的語言,不管是在windows還是unix都可以直接用解釋執行的缺點,解析是需要時間的,每次都解析在很多情況下都是相當於每次都在做重復功,這樣運行的明唯效率比較低。盡可能的減少重復功,這也是現在為什麼很流行的緩存的原因,但是解析執行這種方式就沒無法做到了編譯執行的優點,所謂的編譯執行就是先對編程進行編譯,生成一個obj文件,然後再拿來運行,它的優點恰巧就是解釋執行的缺點的反義,去除了每次都解激粗培析的問題編譯執行的缺點,也是恰巧是解釋執行優點的反義。就像C語言,你在windows下編譯的程序,拿到unix下運行,當然如果只是簡單的scanf,printf是可以的,但是像指針,內存分配,文件操作,多線程等,在一些相對復雜的系統問題就嚴重了。 更可怕的是拿源碼到unix環境下編譯通過了,但是運行卻出問題,這種問題最要人命。 所以一般的做法都是這個程序會用在什麼系統,就到什麼系統環境去開發

8. 解釋型語言和編譯型語言的區別是什麼

一、編譯型

編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。

編譯型語言的典型代表:C語言,C++。

編譯型語言的優缺點:執行效率高,缺點是跨平台能力弱,不便調試。

二、解釋型

解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。執行時才翻譯執行。程序每執行一次就要翻譯一遍。

代表語言:python,JavaScript。

優缺點:跨平台能力強,易於調,執行速度慢。

編譯型與解釋型,兩者各有利弊

前者由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言。

而一些網頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。

9. 編譯型語言和解釋型語言的區別

編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言就不用再進行翻譯了。

解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。

雖然Java程序在運行之前也有一個編譯過程,但是並不是將程序編譯成機器語言,而是將它編譯成位元組碼(可以理解為一個中間語言)。
在運行的時候,由JVM將位元組碼再翻譯成機器語言。
註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。

編譯型語言:

10. 為什麼編譯執行比解釋執行更有效率

編譯執行是再編譯之前先做解釋,然後存儲為機器代碼.而解釋執行是一邊解釋語句,再編譯成機器代碼執行.
你想想再相同的時間內哪個執行的快嘛^

閱讀全文

與簡述編譯執行程序比解譯執行具有的優點相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163