詳解python編譯器和解釋器的區別


高級語言不能直接被機器所理解執行,所以都需要一個翻譯的階段,解釋型語言用到的是解釋器,編譯型語言用到的是編譯器。

編譯型語言通常的執行過程是:源代碼——預處理器——編譯器——目標代碼——鏈接器——可執行程序。

某種意義上來說預處理事實上是一個附加的功能,C,PHP,都可以添加這種功能,其中,預處理指令多為頭文件包含,宏定義等等。因為宏定義的核心說白了就是一個字“換”,所以預處理就是提供一個程序執行的環境。

編譯器——目標代碼就是把高級程序語言轉換成機器可以理解執行的機器語言。

鏈接器的功能開始理解前要先了解一點。頭文件在預處理過程中被編譯成一個個單獨的文件,也就是庫文件。而程序是另外的文件,並不包含在庫文件里。所以這就需要一個“膠水”把程序和庫連接起來形成一個可執行文件(Windows是EXE)。這就是鏈接器的作用。

解釋器理解就簡單了,把程序一行行的的理解,執行。首先讀一行代碼,然后執行這一行代碼的意思,接下來讀下一行代碼,執行次行代碼。一次循環往復。

編譯器則是讀入所有代碼,打包成可執行文件,執行。由於我們運行的一般都為編譯過后的可執行文件,也就是執行的是機器語言(而且是IDE優化后的),所以運行速度要比解釋型語言快。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM