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

2022-08-26 04:03:09 字數 530 閱讀 5786

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

某種意義上來說預處理事實上是乙個附加的功能,c,php,都可以新增這種功能,其中,預處理指令多為標頭檔案包含,巨集定義等等。因為巨集定義的核心說白了就是乙個字「換」,所以預處理就是提供乙個程式執行的環境。

編譯器——目標**就是把高階程式語言轉換成機器可以理解執行的機器語言。

鏈結器的功能開始理解前要先了解一點。標頭檔案在預處理過程中被編譯成乙個個單獨的檔案,也就是庫檔案。而程式是另外的檔案,並不包含在庫檔案裡。所以這就需要乙個「膠水」把程式和庫連線起來形成乙個可執行檔案(windows是exe)。這就是鏈結器的作用。

直譯器理解就簡單了,把程式一行行的的理解,執行。首先讀一行**,然後執行這一行**的意思,接下來讀下一行**,執行次行**。一次迴圈往復。

編譯器則是讀入所有**,打包成可執行檔案,執行。由於我們執行的一般都為編譯過後的可執行檔案,也就是執行的是機器語言(而且是ide優化後的),所以執行速度要比解釋型語言快。

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

高階程式設計客棧語言不能直接被機器所理解執行,所以都需要乙個翻譯的階段,解釋型語言用到的是直譯器,編譯型語言用到的是編譯器。某種程式設計客棧意義上來說預處理事實上是乙個附加的功能,c,php,都可以新增這種功能其中,預處理指令多為標頭檔案包含,巨集定義等等。因為巨集定義的核心說白了就是乙個字 換 所...

談笑間解答 編譯器和直譯器

菜鳥經常將編譯器和直譯器弄混淆,無奈之下,於是向高手請教。高手說 直譯器是一條一條的解釋執行源語言。比如php,python就是的解釋性語言。編譯器是把源 整個編譯成目標 執行時不在需要編譯器,直接在支援目標 的平台上執行,這樣執行效率比解釋執行快很多。比如c語言 被編譯成二進位制 exe程式 在w...

Linux 小知識翻譯 編譯器和直譯器

這次聊聊 編譯器和直譯器 程式語言中,有以c為代表的編譯型語言和以perl為代表的解釋型語言。不管是哪種,程式都是以人類能夠理解的形式記錄的,這種形式計算機是無法理解的。因此,才會有編譯器和直譯器。對於編譯型語言,是使用編譯器將人類可讀的 轉換為機器能夠理解的 機器語言 檔案,然後通過執行這個 機器...