編譯型&解釋型語言的區別
任何語言都必須翻譯成機器語言,計算機才能運行高級語言編寫的程序。 翻譯的方式有兩種:一個是編譯,一個是解釋。
編譯型語言與解釋型語言,最大的區分就是在於翻譯時間的不同。
一、編譯型語言(如C、C++)
在程序執行之前有專門的編譯過程。將需要運行的文件編譯為.exe後綴文件,以後要運行就不用重新編譯了,而是直接使用編譯完的.exe文件。這樣做的優點在於,編譯完的程序可以直接打開,執行效率高。
二、解釋型語言(如Java、Python、C#)
在執行程序的過程中翻譯。比如JAVA語言,在運行到待執行的部分代碼時,才會將該部分代碼編譯。解釋型語言每次運行都需要重新編譯,通常需要編譯器參與,效率較低,但優點是擁有跨平臺性。
總結:
編譯型語言,執行前編譯,執行效率高,直接編譯成機器語言(即某一操作系統可識別的二進制文件),跨平臺性差。
解釋型語言,執行時翻譯,執行效率低,先轉換為解釋器能識別的語言,再通過解釋器(如JVM)解釋為機器語言執行,不依賴操作系統,跨平臺性強。
附:“腳本語言”也是一種解釋型語言,特點是通常為文本格式,JavaScript,PHP都是腳本語言,同樣由解釋器來執行語言。
編譯型&解釋型語言的區別
相關推薦
編譯型&解釋型語言的區別
asc 解釋 scrip 使用 行程 機器語言 需要 轉換 ext 任何語言都必須翻譯成機器語言,計算機才能運行高級語言編寫的程序。 翻譯的方式有兩種:一個是編譯,一個是解釋。 編譯型語言與解釋型語言,最大的區分就是在於翻譯時間的不同。 一、編譯型語言(如C、C++)
編譯型與解釋型、動態語言與靜態語言、強類型語言與弱類型語言的區別
動態語言 動態 java語言 不同 編譯型 效率 編譯過程 .exe 檢查 (一)編譯型語言和解釋型語言 首先我們區分這樣一個概念,編譯型語言和解釋型語言。我們編程用的都是高級型語言(寫匯編和機器語言的除外),計算機只理解和運行機器語言,所以必須把高級語言翻譯成機器語言
徹底明白編譯型和解釋型、動態語言和靜態語言區別
編譯型和解釋型的區別 先來看看編譯型語言定義: 編譯型語言首先是將原始碼編譯生成機器指令,再由機器執行機器碼 (二進位制)。 再來看看解釋型語言的定義: 解釋型語言的原始碼不是直接翻譯成機器指令,而是先翻譯成中間程式碼,再由直譯器對
關於程式語言的靜態型別、動態型別、編譯型以及解釋型的區別
學習Go語言時,看到解釋說Go語言是一種靜態型別,編譯型的語言。特意去了解了一下什麼是靜態型別,什麼是編譯型,與之對應的又是什麼。作為記錄寫下這篇部落格,以下純粹個人粗淺的理解,若有理解錯誤之處,請指出,謝謝。 1. 靜態型別和動態型別的區別
java是編譯型還是解釋型語言
Java這個語言很非凡! 一、你可以說它是編譯型的:因為所有的Java程式碼都是要編譯的,.java不經過編譯就什麼用都沒有。 二、你可以說它是解釋型的:因為java程式碼編譯後不能直接執行,它是解釋執行在JVM上的,所以它是解釋執行的,那也就算是解釋的了。 三、但是
Java基礎(變量數&常量&據類型&類型轉換)
bool order p s span png 賦值 基礎 ima byte 什麽是變量: 變量就是一個不固定的數值,它隨時會改變,就像銀行卡裏存的錢一樣會變動。 變量的格式:1 數據類型 變量名=變量值; 2 數據類型 變量名; 變量名=變量值; 變量的三
編譯執行和解釋執行的區別
解釋執行: 由直譯器根據輸入的資料當場執行而不生成任何的目標程式. 解釋執行程式是高階語言翻譯程式的一種,它將源語言(如BASIC)書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。這種工作方式非常適合於人通過終端裝置與計算機會話,如
【轉載】編譯型語言、解釋型語言、靜態類型語言、動態類型語言概念與區別
自己 運行 是把 修改 lin 鏈接 時代 dll 系統 編譯型語言和解釋型語言 1、編譯型語言 需通過編譯器(compiler)將源代碼編譯成機器碼,之後才能執行的語言。一般需經過編譯(compile)、鏈接(linker)這兩個步驟。編譯是把源代碼編譯成機器碼,鏈接是把
編譯型語言、解釋型語言、靜態類型語言、動態類型語言概念與區別
lan 而是 med 每次 部署 展開 不能 -c 進行 今天看到篇對於靜態、動態、強類型、弱類型總結的很到位的一篇博文,在此Mark下。 編譯型語言和解釋型語言 1、編譯型語言 需通過編譯器(compiler)將源代碼編譯成機器碼,之後才能執行的語言。一般需經過編譯(co
編譯型語言與解釋型語言的區別及各自的優缺點
class文件 不同 分別是 .class 需要 存在 保存 scrip 源代碼 計算機編程語言種類非常多,根據與計算機硬件貼近程度和抽象程度大致可分為3類,自頂向下分別是 : 高級語言(抽象層次更高的便於記憶和表示的英文代碼) | 匯編語言(抽象
編譯型語言與解釋型語言的真正區別
編譯型語言與解釋型語言的真正區別 一、編譯型語言與解釋型語言的必需知識點 二、Python和Java解釋型語言的主流執行方式 三、進而可推之解釋性語言和編譯型語言的優缺點 一、編譯型語言與解釋型語言的必需知識點 解釋性語言和編譯型語言
2018年10月1日編譯型語言和解釋型語言的區別
計算機語言的發展: 機器語言 組合語言 高階語言 c++, java 計算機不能直接理解高階語言,只能直接理解機器語言(即計算機識別的二進位制檔案,因為不同的作業系統計算機識別的二進位制檔案是不同的,因為不同系統的指令用不同的二進位制程式碼
編譯型語言與解釋型語言的區別及各自的優缺點【轉】
編譯型語言在程式執行之前,有一個單獨的編譯過程,將程式翻譯成機器語言就不用再進行翻譯了。 解釋型語言,是在執行的時候將程式翻譯成機器語言,雖然Java程式在執行之前也有一個編譯過程,但是並不是將程式編譯成機器語言,而是將它編譯成位元組碼(可以理解為一箇中間語言)。在執行
詳解編譯型語言和解釋型語言的區別
我們常用的高階語言有很多種,比較出名的有C\C++、Python、PHP、Go、Pascal等。而這些語言根據執行的方式不同,大體分為兩種:編譯型語言和解釋型語言。 其中,編譯型語言包括C\C++
編譯型語言、解釋型語言、靜態型別語言、動態型別語言概念與區別
最近在研究Python和Erlang。反覆提到動態型別語言、動態語言、解釋型語言這些概念。這些概念很生澀,在這裡做一個總結。 編譯型語言和解釋型語言 1、編譯型語言 需通過編譯器(compiler)將原始碼編譯成機器碼,之後才能執行的語言。一般需經過編譯(compile)、連結(linker)這兩個
編譯型語言、解釋型語言、腳本語言之間的區別與聯系
運行程序 代碼 二進制 別人 all c++ asc 函數 但是 (遷移自舊博客2017-12-02) 任何語言都必須翻譯成機器語言,計算機才能運行高級語言編寫的程序。 翻譯的方式有兩種:一個是編譯,一個是解釋。 編譯型語言 編譯型語言寫的程序在被執行之前,需要一個專門的編
解釋型語言與編譯型語言的區別
編譯型語言在程式執行之前,有一個單獨的編譯過程,將程式翻譯成機器語言,以後執行這個程式的時候,就不用再進行翻譯了。 解釋型語言,是在執行的時候將程式翻譯成機器語言,所以執行速度相對於編譯型語言要慢。 C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。 雖然Ja
解釋型語言和編譯型語言的區別
用編譯型語言寫的程式執行之前,需要一個專門的編譯過程,通過編譯系統(不僅僅只是通過編譯器,編譯器只是編譯系統的一部分)把高階語言翻譯成機器語言(具體翻譯過程可以參看下圖),把源高階程式編譯成為機器語言檔案,比如windows下的exe檔案。以後就可以直接執行而不需要編譯了,因為翻譯只做了一次,執行時
python學習01: python是編譯型語言,與解釋型語言有什麼區別?
編譯型語言 編譯型語言是指使用專門的編譯器,針對特定平臺(作業系統)將某種高階語言原始碼,一次性“翻譯”成可被該平臺硬體執行的機器語言(包括機器指令和運算元),幷包裝成該平臺所能識別的可執行程式的格式,這個轉換過程稱為編譯(Compile)。編譯生成的可執行程式可以脫離開發環境,在特定的平臺上獨立執行
Python程式設計基礎(一)程式語言是什麼?編譯型語言和解釋型語言的區別|Python是什麼?
程式語言是什麼? 其實,程式指的就是一系列指令,用來告訴計算機做什麼,而編寫程式的關鍵在於,我們需要用計算機可以理解的語言來提供這些指令。 雖然藉助 Siri(Apple)、Google Now(Android)、Cortana(Microsoft)等技術,我們可以使用漢語直接告訴計算機做什麼,比如“Siri