Ⅰ 編譯執行和解釋執行的區別
一、主體不同
1、編譯執行:由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。
2、解釋執行:將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。
二、優勢不同
1、編譯執行:相比解釋執行編譯執行效率高,佔用資源小,適合復雜程序
2、解釋執行:開發速度快,出現嚴重BUG的幾率小。
三、缺點不同
1、編譯執行:兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。
2、解釋執行:解析需要時間,不生成目標程序而是一句一句的執行的方式會造成計算機資源的浪費,即執行效率低。
Ⅱ 「編譯方式」和「解釋方式」的區別是什麼
程序員編寫的程序現在一般都是用高級語言編寫的,如c/c++ 以及面向對象的visual 系列;這樣編寫的程序計算機是不能直接執行的,因為計算機只能執行二進製程序。因此要經過一個源程序代碼翻譯成二進制的過程。計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。
簡單的說,編譯就是全文翻譯,全部翻譯完才執行。解釋就相當於同聲翻譯,邊翻譯邊執行。
Ⅲ 計算機高級程序語言的兩種工作方式(解釋方式和編譯方式)的區別是什麼
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可
將它們分為兩類:
1.解釋類
執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序,典型的解釋型的高級語言有BASIC。
2.編譯類
編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Delphi等。
Ⅳ 編譯程序和解釋程序有何區別
編譯程序能生成目標程序,而解釋程序不能。
Ⅳ 編譯和解釋的區別是什麼
編譯和解釋的區別是與計算機的交流方式不同、運行環境不同、運行速度不同。
一、與計算機的交流方式不同
編譯是將源程序翻譯成可執行的目標代碼,執行可執行程序文件,翻譯與執行是分開的。
解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋邊執行,解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
二、運行環境不同
編譯程序跨平台性不好,不同操作系統,調用底層的機器指令不同,需為不同平台生成不同的機器碼文件,編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件。
解釋程序可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,源代碼所有平台都可以直接執行,解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果。
三、運行速度不同
編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。
解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多。
Ⅵ 編譯方式和解釋方式有什麼區別
首先,我們編寫的程序現在一般都是用高級語言編寫的,如c/c++
以及面向對象的visual
系列;我們編寫的程序計算機是不能直接執行的,因為計算機只能執行二進製程序.因此要經過一個將我們寫的代碼翻譯成二進制的過程.
完成這個過程一般有兩種方式:1.解釋方式
2.
編譯方式
1.解釋方式是每執行一句就翻譯一句即邊執行邊解釋.這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如qb,不過現在幾乎沒有人再用這種低效的方式的設計語言了.
2.編譯方式是在程序第一次執行前就先執一個全部的翻譯過程,然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net
採用的也是這種方式.
Ⅶ 高級語言中的解釋方式和編譯方式的區別
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。
Ⅷ 解釋和編譯有什麼區別
一、與計算機的交流方式不同
1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
三、開發便捷性
1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果
2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件
四、運行速度
1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多
2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。
Ⅸ 「編譯方式」和「解釋方式」的區別
程序員編寫的程序現在一般都是用高級語言編寫的,如c/c++
以及面向對象的visual
系列;這樣編寫的程序計算機是不能直接執行的,因為計算機只能執行二進製程序。因此要經過一個源程序代碼翻譯成二進制的過程。計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net
採用的也是這種方式。
簡單的說,編譯就是全文翻譯,全部翻譯完才執行。解釋就相當於同聲翻譯,邊翻譯邊執行。
Ⅹ 編譯方式和解釋方式的根本區別是什麼
首先,我們編寫的程序現在一般都是用
高級語言
編寫的,如c/c++
以及面向對象的visual
系列;我們編寫的程序計算機是不能直接執行的,因為計算機只能執行二進製程序.因此要經過一個將我們寫的代碼翻譯成二進制的過程.
完成這個過程一般有兩種方式:1.解釋方式
2.
編譯方式
1.解釋方式是每執行一句就翻譯一句即邊執行邊解釋.這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在幾乎
沒有人
再用這種低效的方式的
設計語言
了.
2.編譯方式是在程序第一次執行前就先執一個全部的翻譯過程,然後每次執行的時候就可以直接執行這個翻譯好的
二進制文件
了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net
採用的也是這種方式.