高級語言不能直接被機器所理解執行,所以都需要一個翻譯的階段,解釋型語言用到的是解釋器,編譯型語言用到的是編譯器。
編譯型語言通常的執行過程是: 源代碼――預處理器――編譯器――目標代碼――鏈接器――可執行程序 。
某種意義上來說預處理事實上是一個附加的功能,C,PHP,都可以添加這種功能,其中,預處理指令多為頭文件包含,宏定義等等。因為宏定義的核心說白了就是一個字“換”,所以預處理就是提供一個程序執行的環境。
編譯器 ――目標代碼就是把高級程序語言轉換成機器可以理解執行的機器語言。
鏈接器的功能開始理解前要先了解一點。頭文件在預處理過程中被編譯成一個個單獨的文件,也就是庫文件。而程序是另外的文件,并不包含在庫文件里。所以這就需要一個“膠水”把程序和庫連接起來形成一個可執行文件(Windows是EXE)。這就是鏈接器的作用。
解釋器理解就簡單了,把程序一行行的的理解,執行。首先讀一行代碼,然后執行這一行代碼的意思,接下來讀下一行代碼,執行次行代碼。一次循環往復。
編譯器則是讀入所有代碼,打包成可執行文件,執行。由于我們運行的一般都為編譯過后的可執行文件,也就是執行的是機器語言(而且是IDE優化后的),所以運行速度要比解釋型語言快。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
