日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编译型语言和解释型语言的区别

發布時間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编译型语言和解释型语言的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

計算機是不能理解高級語言的,更不能直接執行高級語言,它只能直接理解機器語言,所以使用任何高級語言編寫的程序若想被計算機運行,都必須將其轉換成計算機語言,也就是機器碼。而這種轉換的方式有兩種:

1.編譯

2.解釋

由此高級語言也分為編譯型語言和解釋型語言。

主要區別在于,前者源程序編譯后即可在該平臺運行,后者是在運行期間才編譯。所以前者運行速度快,后者跨平臺性好。

編譯型語言 : 程序執行前將代碼全部編譯一遍(如c,c++) 編譯完成后 程序再執行

優點:編譯型語言在運行前翻譯,效率高

缺點:但是因為編譯前無法得知運行環境的情況,故不能跨平臺執行

解釋型語言 : 程序邊執行邊解釋代碼(一行一行的解釋,故解釋型語言運行效率較低)(如javascript,python) 不是一下就全部解釋完的

,但當你又想知道上句內容還得重新翻譯(把上一句重新翻譯一遍)

優點:不用在運行前將整個翻譯一遍,節省時間

缺點:一行一行的解釋,故解釋型語言運行效率較低

編譯和解釋 都可以理解成翻譯

外國人看不懂中文書 把整個書翻譯成英文了 再看 就看得懂了

外國人看不懂中文書 要看書的那個部分 就翻譯那個部分 不用一次把整個書都翻譯完

編譯型的 如果代碼有變更 那項目要重新再編譯一遍了 而解釋型的就不用這樣了 因為它是邊執行邊解釋的

關于java

Java和其他的語言不太一樣。因為java針對不同的平臺有不同的JVM,實現了跨平臺。所以Java語言有一次編譯到處運行的說法。

1.**你可以說它是編譯型的:**因為所有的Java代碼都是要編譯的,.java不經過編譯就什么用都沒有。

2.**你可以說它是解釋型的:**因為java代碼編譯后不能直接運行,它是解釋運行在JVM上的,所以它是解釋運行的,那也就算是解釋的了。

3.但是,現在的JVM為了效率,都有一些JIT優化。它又會把.class的二進制代碼編譯為本地的代碼直接運行,所以,又是編譯的。

java語言 既是編譯型的也是解釋型的 先從java文件 編碼成 class字節碼文件 然后經由類加載器加載到內存 由字節碼校驗器校驗代碼語法 如果沒有問題

再經過解釋器把代碼解釋成機器語言給操作系統能識別的機器語言

將java認為成解釋型語言也是可以的

因為雖然java也需要編譯,編譯成.class文件,但是并不是機器可以識別的語言,而是字節碼,最終還是需要 jvm的解釋,才能在各個平臺執行,這同時也是java跨平臺的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要歸類的話,從概念上的定義,恐怕java應該歸到解釋型的語言中

編譯型的語言包括:C、C++、Delphi、Pascal、Fortran

解釋型的語言包括:Java、Basic、javascript、python

編譯型與解釋型,兩者各有利弊

前者由于程序執行速度快同等條件下對系統要求較低,因此像開發操作系統大型應用程序、數據庫系統等時都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言,而一些網頁腳本服務器腳本及輔助開發接口這樣的對速度要求不高、對不同系統平臺間的兼容性有一定要求的程序則通常使用解釋性語言,如JavaJavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。

總結

以上是生活随笔為你收集整理的编译型语言和解释型语言的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。