區別:1、編譯是將原始程式翻譯成可執行的目標程式碼;解釋程式不產生目標程式碼。 2.解釋程式可跨平台使用;編譯程式跨平台性不好。 3.解釋程式可以隨時修改,立刻生效;編譯程式不行。 4.解釋程式運行效率低;編譯程式執行速度快。
本教學操作環境:windows10系統、Dell G3電腦。
編譯是將原始程式翻譯成可執行的目標程式碼,翻譯與執行是分開的;而解釋是對原始程式的翻譯與執行一次完成,不產生可儲存的目標程式碼。這只是表象,二者背後的最大差異是:對解釋執行而言,程式運行時的控制權在解釋器而不在使用者程式;對編譯執行而言,執行時的控制權在使用者程式。
解釋具有良好的動態特性和可移植性,例如在解釋執行時可以動態改變變數的類型、對程式進行修改以及在程式中插入良好的偵錯診斷資訊等,而將解釋器移植到不同的系統上,程式不用改動就可以在移植了解釋器的系統上運作。同時解釋器也有很大的缺點,例如執行效率低,佔用空間大,因為不僅要給使用者程式分配空間,解釋器本身也佔用了寶貴的系統資源。
編譯器是把原始程式的每一語句都編譯成機器語言,並保存成二進位檔案,這樣運行時電腦可以直接以機器語言來運行此程式,速度很快;
而解釋器則是只在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程式運行的快的.
編譯與解釋的差異:
1、與電腦的溝通方式不同
解釋程式不產生目標程式碼,它逐條取出原始程式中的語句,邊解釋,邊執行;解釋器把原始碼檔案邊解釋成機器語言邊交給CPU執行。
編譯是將原始程式翻譯成可執行的目標程式碼,執行可執行程式文件,翻譯與執行是分開的。
2、運行環境不同
解釋程式可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,原始碼所有平台都可以直接執行。
編譯程式跨平台性不好,不同作業系統,呼叫底層的機器指令不同,需為不同平台產生不同的機器碼檔案。
3、開發便利性
解釋程式可以隨時修改,立刻生效,改完原始碼後,直接執行看效果
編譯程式每次修改原始程式碼,都要重新編譯,產生機器碼檔
4、運行速度
解釋程式運行效率低,所有的程式碼均需經過解譯器邊解釋變執行,速度比編譯型慢很多
編譯程式執行速度快,因為你的程式碼已經翻譯成了是電腦可以理解的機器語言。
更多相關知識,請造訪常見問題欄位!
以上是編譯和解釋的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!