当前位置 - 股票行情交易網 - 財經新聞 - 編譯器和解釋器的主要區別是什麽?他們相對於對方各自的優點?

編譯器和解釋器的主要區別是什麽?他們相對於對方各自的優點?

解釋器

解釋執行

的源代碼,

編譯器

是將源代碼編譯成

目標代碼

他們最大的區別是程序運行時需要解釋器邊解釋邊執行,而編譯器則在運行時是完全不需要的

解釋器的優點是比較容易讓用戶實現自己跨平臺的代碼,比如java,php等,同壹套代碼可以在

幾乎所有的

操作系統上執行,而無需根據操作系統做修改;

編譯器的目的就是生成目標代碼再由連接器生成可執行的

機器碼

,這樣的話需要根據不同的操作系統編制代碼,雖然有像Qt這樣的源代碼級跨平臺的編程工具庫,但在不同的平臺上仍然需要重新編譯連接成可執行文件,但其執行效率要遠遠高於解釋運行的程序。

編譯器是把源程序的每壹條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;

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

這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)