高階語言不能直接被機器所理解執行,所以都需要一個翻譯的階段,解釋型語言用到的是解釋器,編譯型語言用到的是編譯器。
編譯型語言通常的執行過程是:原始碼-預處理器-編譯器-目標碼-連結器-可執行程式。
某種意義上來說預處理事實上是一個附加的功能,C,PHP,都可以添加這種功能,其中,預處理指令多為頭文件包含,巨集定義等等。因為巨集定義的核心說白了就是一個字“換”,所以預處理就是提供一個程式執行的環境。
編譯器-目標程式碼就是把高階程式語言轉換成機器可以理解執行的機器語言。
相關推薦:《Python影片教學》
連結器的功能開始理解前要先了解一點。頭檔在預處理過程中被編譯成一個個單獨的文件,也就是函式庫檔。而程式是另外的文件,並不包含在庫文件裡。所以這就需要一個「膠水」把程式和函式庫連接起來形成一個可執行檔(Windows是EXE)。這就是連結器的作用。
解釋器理解就簡單了,把程式一行行的理解,執行。先讀一行程式碼,然後執行這一行程式碼的意思,接下來讀下一行程式碼,執行次行程式碼。一次循環往復。
編譯器則是讀入所有程式碼,打包成可執行文件,執行。由於我們運行的一般都為編譯過後的可執行文件,也就是執行的是機器語言(而且是IDE優化後的),所以運行速度要比解釋型語言快。
以上是python編譯器和解釋器的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!