詳解python編譯器和解釋器的區(qū)別
高級(jí)語(yǔ)言不能直接被機(jī)器所理解執(zhí)行,所以都需要一個(gè)翻譯的階段,解釋型語(yǔ)言用到的是解釋器,編譯型語(yǔ)言用到的是編譯器。
編譯型語(yǔ)言通常的執(zhí)行過(guò)程是:源代碼——預(yù)處理器——編譯器——目標(biāo)代碼——鏈接器——可執(zhí)行程序。
某種意義上來(lái)說(shuō)預(yù)處理事實(shí)上是一個(gè)附加的功能,C,PHP,都可以添加這種功能,其中,預(yù)處理指令多為頭文件包含,宏定義等等。因?yàn)楹甓x的核心說(shuō)白了就是一個(gè)字“換”,所以預(yù)處理就是提供一個(gè)程序執(zhí)行的環(huán)境。
編譯器——目標(biāo)代碼就是把高級(jí)程序語(yǔ)言轉(zhuǎn)換成機(jī)器可以理解執(zhí)行的機(jī)器語(yǔ)言。
鏈接器的功能開(kāi)始理解前要先了解一點(diǎn)。頭文件在預(yù)處理過(guò)程中被編譯成一個(gè)個(gè)單獨(dú)的文件,也就是庫(kù)文件。而程序是另外的文件,并不包含在庫(kù)文件里。所以這就需要一個(gè)“膠水”把程序和庫(kù)連接起來(lái)形成一個(gè)可執(zhí)行文件(Windows是EXE)。這就是鏈接器的作用。
解釋器理解就簡(jiǎn)單了,把程序一行行的的理解,執(zhí)行。首先讀一行代碼,然后執(zhí)行這一行代碼的意思,接下來(lái)讀下一行代碼,執(zhí)行次行代碼。一次循環(huán)往復(fù)。
編譯器則是讀入所有代碼,打包成可執(zhí)行文件,執(zhí)行。由于我們運(yùn)行的一般都為編譯過(guò)后的可執(zhí)行文件,也就是執(zhí)行的是機(jī)器語(yǔ)言(而且是IDE優(yōu)化后的),所以運(yùn)行速度要比解釋型語(yǔ)言快。
相關(guān)文章
Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn)
本文主要介紹了Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python對(duì)輸出的奇數(shù)偶數(shù)排序?qū)嵗a
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python對(duì)輸出的奇數(shù)偶數(shù)排序?qū)嵗a內(nèi)容,有興趣的朋友們可以參考下。2020-12-12Python基于keras訓(xùn)練實(shí)現(xiàn)微笑識(shí)別的示例詳解
Keras是一個(gè)由Python編寫(xiě)的開(kāi)源人工神經(jīng)網(wǎng)絡(luò)庫(kù),可用于深度學(xué)習(xí)模型的設(shè)計(jì)、調(diào)試、評(píng)估、應(yīng)用和可視化。本文將基于keras訓(xùn)練實(shí)現(xiàn)微笑識(shí)別效果,需要的可以參考一下2022-01-0121行Python代碼實(shí)現(xiàn)拼寫(xiě)檢查器
21行python代碼實(shí)現(xiàn)的一個(gè)簡(jiǎn)易但是具備完整功能的拼寫(xiě)檢查器,感興趣的小伙伴們可以參考一下2016-01-01python geopandas讀取、創(chuàng)建shapefile文件的方法
shapefile是GIS中非常重要的一種數(shù)據(jù)類(lèi)型,在ArcGIS中被稱(chēng)為要素類(lèi)(Feature Class),主要包括點(diǎn)(point)、線(polyline)和多邊形(polygon),本文重點(diǎn)給大家介紹python geopandas讀取、創(chuàng)建shapefile文件的方法,需要的朋友參考下吧2021-06-06Python操作PDF文件之實(shí)現(xiàn)A3頁(yè)面轉(zhuǎn)A4
這篇文章主要為大家詳細(xì)介紹了Python操作PDF文件之實(shí)現(xiàn)A3頁(yè)面轉(zhuǎn)A4功能的相關(guān)資料,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-11-11Anaconda2下實(shí)現(xiàn)Python2.7和Python3.5的共存方法
今天小編就為大家分享一篇Anaconda2下實(shí)現(xiàn)Python2.7和Python3.5的共存方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06在jupyter notebook中調(diào)用.ipynb文件方式
這篇文章主要介紹了在jupyter notebook中調(diào)用.ipynb文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04