詳解python編譯器和解釋器的區(qū)別
高級(jí)語言不能直接被機(jī)器所理解執(zhí)行,所以都需要一個(gè)翻譯的階段,解釋型語言用到的是解釋器,編譯型語言用到的是編譯器。
編譯型語言通常的執(zhí)行過程是:源代碼——預(yù)處理器——編譯器——目標(biāo)代碼——鏈接器——可執(zhí)行程序。
某種意義上來說預(yù)處理事實(shí)上是一個(gè)附加的功能,C,PHP,都可以添加這種功能,其中,預(yù)處理指令多為頭文件包含,宏定義等等。因?yàn)楹甓x的核心說白了就是一個(gè)字“換”,所以預(yù)處理就是提供一個(gè)程序執(zhí)行的環(huán)境。
編譯器——目標(biāo)代碼就是把高級(jí)程序語言轉(zhuǎn)換成機(jī)器可以理解執(zhí)行的機(jī)器語言。
鏈接器的功能開始理解前要先了解一點(diǎn)。頭文件在預(yù)處理過程中被編譯成一個(gè)個(gè)單獨(dú)的文件,也就是庫文件。而程序是另外的文件,并不包含在庫文件里。所以這就需要一個(gè)“膠水”把程序和庫連接起來形成一個(gè)可執(zhí)行文件(Windows是EXE)。這就是鏈接器的作用。
解釋器理解就簡單了,把程序一行行的的理解,執(zhí)行。首先讀一行代碼,然后執(zhí)行這一行代碼的意思,接下來讀下一行代碼,執(zhí)行次行代碼。一次循環(huán)往復(fù)。
編譯器則是讀入所有代碼,打包成可執(zhí)行文件,執(zhí)行。由于我們運(yùn)行的一般都為編譯過后的可執(zhí)行文件,也就是執(zhí)行的是機(jī)器語言(而且是IDE優(yōu)化后的),所以運(yùn)行速度要比解釋型語言快。
相關(guān)文章
親手教你用Python打造一款摸魚倒計(jì)時(shí)界面
前段時(shí)間在微博看到一段摸魚人的倒計(jì)時(shí)模板,感覺很有意思,于是我用了一個(gè)小時(shí)的時(shí)間寫一個(gè)頁面出來,下面小編把實(shí)現(xiàn)過程分享給大家,對Python摸魚倒計(jì)時(shí)界面感興趣的朋友一起看看吧2021-12-12
python+selenium 簡易地疫情信息自動(dòng)打卡簽到功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了python+selenium 簡易地疫情信息自動(dòng)打卡簽到功能的實(shí)現(xiàn)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Numpy中的數(shù)組搜索中np.where方法詳細(xì)介紹
這篇文章主要介紹了Numpy中的數(shù)組搜索中np.where方法詳細(xì)介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
python輸出當(dāng)前目錄下index.html文件路徑的方法
這篇文章主要介紹了python輸出當(dāng)前目錄下index.html文件路徑的方法,涉及Python操作目錄的相關(guān)技巧,需要的朋友可以參考下2015-04-04
15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié))
這篇文章主要介紹了15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python實(shí)現(xiàn)人人對戰(zhàn)的五子棋游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人人對戰(zhàn)的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
python爬蟲基礎(chǔ)教程:requests庫(二)代碼實(shí)例
這篇文章主要介紹了python爬蟲基礎(chǔ)教程:requests庫(二),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

