導航:首頁 > 源碼編譯 > c是解釋型語言還是編譯型語言

c是解釋型語言還是編譯型語言

發布時間:2023-06-11 05:22:42

❶ 請問C#是編譯型語言還是解釋型語言

C#是解釋型語言,不是編譯型語言。

只要不是"直接編譯成機器指令並直接運行機器指令執行檔"的編譯語言,就屬於解釋語言。

java,C#、VB.net等的源碼先編譯成位元組碼,再由虛擬機「解釋」執行位元組碼。
也屬於解釋語言,JIT即時編譯的語言也屬於解釋語言。

現在虛擬機逐漸多樣化,機器指令的硬體相關性逐漸淡化。所以編譯語言和解釋語言的概念越來越少被提到了。

Most so-called interpreted languages use an intermediate representation, which combines compiling and interpreting. In this case, a compiler may output some form of bytecode or threaded code, which is then executed by a bytecode interpreter.
大多數所謂的解釋型語言都採用某種結合編譯和解釋的中間形態。以編譯器輸出某種位元組碼或線程碼,然後由位元組碼解釋器執行。 ---維基網路-解釋型語言條

❷ C語言是編譯性語言還是解釋性語言

C語言是編譯性語言

❸ 解釋型語言和編譯型語言的區別是什麼

一、編譯型

編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。

編譯型語言的典型代表:C語言,C++。

編譯型語言的優缺點:執行效率高,缺點是跨平台能力弱,不便調試。

二、解釋型

解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。執行時才翻譯執行。程序每執行一次就要翻譯一遍。

代表語言:python,JavaScript。

優缺點:跨平台能力強,易於調,執行速度慢。

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

前者由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言。

而一些網頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。

❹ c語言是編譯型語言嗎

當然!

c程序,編譯後才能運行

❺ C/C++,Java,Python誰是編譯型語言,誰是解釋型語言

總的來說,如今編譯型語言、解釋性語言的分界線不再那麼明顯,應該避免把語言簡單歸類為「編譯型」和「解釋型」。
我們最開始說C/C++是編譯型語言,原因是相對於Ruby這樣的解釋性語言,C/C++需要通過編譯器,把源代碼編譯成中間文件(.o和.obj),然後通過連接器和匯編器生成機器碼,即一系列基本操作序列,可以直接讓計算機執行。這些機器碼也就是我們通常的exe文件。
我們以Ruby為例談一下解釋型的語言,程序從源代碼到被計算機執行,也要經歷上述步驟。不同的地方在於,C/C++會把那些從源代碼「變」來的機器碼(即exe文件)保存起來,而Ruby直接將這些生成的基本操作序列(Ruby虛擬機)指令丟給Ruby虛擬機執行然後產生動作了。這就是我們所說的解釋型語言。
所以我們看到的現象是,編譯型語言要先編譯再運行,而解釋性語言直接「運行」源代碼。
回到最開始的問題,如果以是「否保存機器碼為exe文件」為區分,那麼Java和Python都屬於解釋型語言。
但具體來講,Java和Python是有很大不同的。Java代碼從源程序到執行,要經過的過程是:編譯器(javac)把源代碼轉化為位元組碼,然後解釋器(Java.exe)把位元組碼轉換為計算機理解的機器碼來執行,其過程中沒有把「機器碼保存為exe」的行為(這樣講也不完全准確,下面會講到)。其中編譯器和解釋器都是Java虛擬機(JVM)的一部分,由於針對不同的硬體與OS,Java解釋器有所不同,因此可以實現「一次編譯、到處執行」。所以JVM是Java跨平台特性的關鍵所在。
Java虛擬機(JVM)一種用於計算機設備的規范,可用不同的方式(軟體或硬體)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套位元組碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域
對於Python,其源代碼到執行也要經過如下過程:源代碼--->位元組碼--->機器碼。跟Java相同的是,其過程中也沒有把「機器碼保存為exe」的行為。與Java不同的是,Python使用的虛擬機是基於其他語言實現的,比如我們一般使用的Python實際為Cpython,也就是其虛擬機由C實現,這個虛擬機負責把Python源碼編譯為位元組碼,再解釋執行。另外,還有Jypython、Ironpython等。

❻ 編譯型語言有哪些呢

編譯型語言有C、C++、Objective-C、Swift、Kotlin等高級語言。需要將源代碼編譯成機器碼,再由機器運行機器碼。只需編譯一次,運行速度快,執行效率高。

編譯型語言和解釋型語言區別在於:

編譯型語言,通常都會對源代碼進行編譯,生成可以執行的二進制代碼,執行的是編譯後的結果。

解釋型語言,通常不用對源代碼進行編譯,一般是通過解釋器載入腳本後運行。由於每個語句都是執行的時候才進行解釋翻譯,這樣解釋性語言每次執行就要翻譯一次,效率相對要低。至於難度,個人感覺java相對要更復雜些。

❼ c語言是解釋型語言嗎

編程語言分為兩大類:1-編譯型語言;2-解釋型語言。之前我們講解過編譯型語言。現在就來講講解釋型語言

同學們可以繼續與翻譯進行類別,來理解「解釋型語言」。之前說過,編譯型語言是雇一個翻譯,將你寫的中文信全篇翻譯成英文,然後交給美國總統閱讀。而解釋型語言則不同,更像是「同聲傳譯」。

也就是說,解釋型語言使用一個翻譯站在你身邊,你寫出一句中文,它就直接翻譯成英文給對方閱讀。實際上,這個「翻譯」是一種虛擬機。所謂虛擬機,也是一種程序,它幫你隨時將編寫的源代碼翻譯成計算機可以理解的機器語言,讓計算機執行命令。而不需要產生中間的機器碼文件。比如,「BASIC」語言就是一種解釋型語言。

比如,你使用BASIC語言,想在屏幕上顯示文本「Hello」。那麼你可以先編寫源代碼文件,比如叫「hello.bas」,然後你可以直接將hello.bas文件送入虛擬機程序。然後虛擬機會直接幫你運行hello.bas(直接逐行解釋你的源代碼文件)。

解釋型語言最大的特點就是不創建中間文件。

解釋型語言的優點

對於不同的系統適應性較好,同樣的源代碼,可以直接運行在不同的系統(當然,前提是在不同系統上安裝好相應的虛擬機)。

解釋型語言的缺點

逐行解釋會導致程序運行速度不如編譯型語言快。可以想像下,你講中文時,說一句中文翻譯翻譯一句(解釋型語言)的速度,顯然比先把演講稿翻譯成全英文稿(編譯型語言)要慢很多。

解釋型語言舉例

屬於解釋型語言的有如下幾種:

Perl
JavaScript
VBScript
AppleScript

閱讀全文

與c是解釋型語言還是編譯型語言相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163