1. 程式人生 > >什麼是編譯型語言和解釋型語言

什麼是編譯型語言和解釋型語言

什麼是編譯型語言和解釋型語言

計算機是不能理解高階語言的,更不能直接執行高階語言,它只能直接理解機器語言,所以使用任何高階語言編寫的程式若想被計算機執行,都必須將其轉換成計算機語言,也就是機器碼。

這裡寫圖片描述

計算機是不能理解高階語言的,更不能直接執行高階語言,它只能直接理解機器語言,所以使用任何高階語言編寫的程式若想被計算機執行,都必須將其轉換成計算機語言,也就是機器碼。而這種轉換的方式有兩種:

  1. 編譯

  2. 解釋

由此高階語言也分為編譯型語言和解釋型語言。

編譯型語言

使用專門的編譯器,針對特定的平臺,將高階語言原始碼一次性的編譯成可被該平臺硬體執行的機器碼,幷包裝成該平臺所能識別的可執行性程式的格式。

特點

在編譯型語言寫的程式執行之前,需要一個專門的編譯過程,把原始碼編譯成機器語言的檔案,如exe格式的檔案,以後要再執行時,直接使用編譯結果即可,如直接執行exe檔案。因為只需編譯一次,以後執行時不需要編譯,所以編譯型語言執行效率高。

總結

  1. 一次性的編譯成平臺相關的機器語言檔案,執行時脫離開發環境,執行效率高;

  2. 與特定平臺相關,一般無法移植到其他平臺;

  3. 現有的C、C++、Objective等都屬於編譯型語言。

這裡寫圖片描述

解釋型語言

使用專門的直譯器對源程式逐行解釋成特定平臺的機器碼並立即執行。

特點

解釋型語言不需要事先編譯,其直接將原始碼解釋成機器碼並立即執行,所以只要某一平臺提供了相應的直譯器即可執行該程式。

總結

  1. 解釋型語言每次執行都需要將原始碼解釋稱機器碼並執行,效率較低;

  2. 只要平臺提供相應的直譯器,就可以執行原始碼,所以可以方便源程式移植;

  3. Python等屬於解釋型語言。

這裡寫圖片描述