首頁 >常見問題 >編譯和解釋的差別是什麼

編譯和解釋的差別是什麼

青灯夜游
青灯夜游原創
2021-06-29 12:49:2036642瀏覽

區別:1、編譯是將原始程式翻譯成可執行的目標程式碼;解釋程式不產生目標程式碼。 2.解釋程式可跨平台使用;編譯程式跨平台性不好。 3.解釋程式可以隨時修改,立刻生效;編譯程式不行。 4.解釋程式運行效率低;編譯程式執行速度快。

編譯和解釋的差別是什麼

本教學操作環境:windows10系統、Dell G3電腦。

編譯是將原始程式翻譯成可執行的目標程式碼,翻譯與執行是分開的;而解釋是對原始程式的翻譯與執行一次完成,不產生可儲存的目標程式碼。這只是表象,二者背後的最大差異是:對解釋執行而言,程式運行時的控制權在解釋器而不在使用者程式;對編譯執行而言,執行時的控制權在使用者程式。

解釋具有良好的動態特性和可移植性,例如在解釋執行時可以動態改變變數的類型、對程式進行修改以及在程式中插入良好的偵錯診斷資訊等,而將解釋器移植到不同的系統上,程式不用改動就可以在移植了解釋器的系統上運作。同時解釋器也有很大的缺點,例如執行效率低,佔用空間大,因為不僅要給使用者程式分配空間,解釋器本身也佔用了寶貴的系統資源。

編譯器是把原始程式的每一語句都編譯成機器語言,並保存成二進位檔案,這樣運行時電腦可以直接以機器語言來運行此程式,速度很快;

而解釋器則是只在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程式運行的快的.

編譯與解釋的差異:

1、與電腦的溝通方式不同

解釋程式不產生目標程式碼,它逐條取出原始程式中的語句,邊解釋,邊執行;解釋器把原始碼檔案邊解釋成機器語言邊交給CPU執行。

編譯是將原始程式翻譯成可執行的目標程式碼,執行可執行程式文件,翻譯與執行是分開的。

2、運行環境不同

解釋程式可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,原始碼所有平台都可以直接執行。

編譯程式跨平台性不好,不同作業系統,呼叫底層的機器指令不同,需為不同平台產生不同的機器碼檔案。

3、開發便利性

解釋程式可以隨時修改,立刻生效,改完原始碼後,直接執行看效果

編譯程式每次修改原始程式碼,都要重新編譯,產生機器碼檔

4、運行速度

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

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

更多相關知識,請造訪常見問題欄位!

以上是編譯和解釋的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn