首頁 >常見問題 >解釋器和編譯器有什麼不同?

解釋器和編譯器有什麼不同?

不言
不言原創
2019-03-08 10:19:2443591瀏覽

解釋器和編譯器差異是:1、解釋器是直接執行用程式語言寫的指令的程序,而編譯器是把原始碼轉換成即翻譯低階語言的程式;2、編譯器產生一個獨立的程序,而解釋的程序總是需要解釋器來運作。

解釋器和編譯器有什麼不同?

解釋器:直接執行用程式語言編寫的指令的程式。

編譯器:把原始碼轉換成(翻譯)低階語言的程式。

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

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

編譯器產生一個獨立的程序,而解釋的程式總是需要解釋器來運作。

如果你有一個編譯的程序,你不需要安裝其他任何東西就可以運行起來,這使得分發十分簡單。另一方面,可執行檔在一個特定平台上運行:不同的作業系統和不同的處理器需要不同的編譯版本。

如果要解釋程序,可以將不同平台上的相同副本分發給使用者。然而,他們需要一個在其特定平台上運行的解釋器。所以可以分發原始碼或中間產物。

使用解釋型程式語言更容易製作跨平台程式。

編譯的程式比解釋的程式執行起來要快得多,但這只是冰山一角。簡單來講,就執行而言,確實是編譯後執行的編譯型程式執行的快些,但是編譯型程式的編譯加執行的時間比解釋性語言解釋執行的時間多。

編譯器確實產生更快的程序,這是因為它必須把每個語句分析一次,而解釋器必須每次都分析一次,此外,編譯器還可以優化其產生的可執行程式碼。這既是因為它確切地知道它將在哪裡運行,並且需要時間來優化程式碼。

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

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