解釋型語言和編譯型語言到底是什么?


解釋型語言和編譯型語言的區別

經常,在學習計算機語言的過程中,大家都會聊到一個問題,c語言、java、python等等他們的運行速率快慢,從而凸顯出這個語言又多厲害。而這個執行速度其實和我們“解釋性語言“及“v”相關聯的。

解釋型語言:編寫好程序以后,可以直接在解釋器上運行的,我們知道程序是人們定義的一些列高級語法,這個直接交給操作系統肯定是不認識的。所以需要解釋器把程序段轉化成機器碼,在由操作系統執行。這里我們就發現了解釋性語言的一大特點:就是:程序是邊運行邊進行機器碼轉化(轉化完后cpu執)

編譯型語言:編寫好程序以后,首先需要編譯器進行編譯,統一轉化成機器碼,然后這個編譯完的文件,可以放在操作系統直接執行。

【這就好像我們吃一袋瓜子,解釋性語言是剝一顆吃一顆,直到吃完;而編譯性語言是先把一袋瓜子全部剝完,剝出肉,然后一口吃進去。你說這兩種模式對於最后吃的人來說,哪種會比較快,結果不言而知吧!】

這里的一袋瓜子其實就是一段程序,吃瓜子的人就是操作系統。

python是解釋型還是編譯型語言?

python是解釋型語言,編寫好的python代碼段,由python解釋器進行執行!

們從Python官方網站下載並安裝好Python 3.x后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。

C/C++是解釋型還是編譯型語言?

C/C++需要通過編譯器,把源代碼編譯成中間文件(.o和.obj),然后通過連接器和匯編器生成機器碼,即一系列基本操作序列,可以直接讓計算機執行。

所以C和C++是編譯型語言!

Java是解釋型還是編譯型語言?

 

有人說Java是編譯型的。因為所有的Java代碼都是要編譯的,.java不經過編譯就無法執行。 也有人說Java是解釋型的。因為java代碼編譯后不能直接運行,它是解釋運行在JVM上的,所以它是解釋型的。對於C和C++,它們經過一次編譯之后,可以由操作系統直接執行,所以它們是編譯型語言。而Java不一樣,它首先由編譯器編譯成.class(字節碼)文件,然后在通過JVM從.class文件中讀一行解釋執行一行,所以它是解釋型的語言。也正是由於java對於多種不同的操作系統有不同的JVM,所以實現了真正意義上的跨平台。

 

(1)Java語言的編譯-->解釋-->運行過程

 

(2)JVM到這里,大家應該也都明白了。

 

有興趣的同學請關注

 


免責聲明!

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



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