溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#是編譯語言還是解釋語言

發(fā)布時(shí)間:2021-12-03 10:21:49 來源:億速云 閱讀:303 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“C#是編譯語言還是解釋語言”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C#是編譯語言還是解釋語言”吧!

“C# Java是解釋型語言?Oh my god”

“引用vls:C# Java是解釋型語言?Oh my god

呵呵 我也很詫異“

“引用DiggingDeeply:@vlsC#不是解釋行語言,那JIT是干啥用的?

無知并不可憐,無知還不知道自己無知才叫可憐”

“。。。但如果因?yàn)樗?quot;一邊變換一邊執(zhí)行", 就將其當(dāng)作解釋語言……只能說你看到表象卻沒抓住本質(zhì)?!?/p>

很是無語,既然您認(rèn)為別人無知那您的有知拿出來給無知的人看看,行不?

拋開這些不談,誰能給編譯型和解釋型給下個(gè)定義。無一例外,要么就是某人的博客,要么就是搜索來的網(wǎng)頁(yè),再要么就是放個(gè)闕詞就消失,這些作為論據(jù)充分不?

昨天翻了翻龍書,也沒有給這兩個(gè)概念下詳細(xì)的定義,可見兩個(gè)概念是很難下個(gè)精確的定義的。

在<>(by Michaei L. Scott)這本書里面,我找到了相關(guān)的定義和說明,特摘錄如下

Compilation and Interpretation

高級(jí)語言里一個(gè)程序的編譯和執(zhí)行大概是 下面的情況:

C#是編譯語言還是解釋語言

編譯器將高級(jí)語言從源代碼翻譯成與之等價(jià)的目標(biāo)程序(就相當(dāng)于從中文翻譯成中文),而后就隱退了。在隨后的某個(gè)時(shí)刻,用戶啟動(dòng)目標(biāo)程序由操作系統(tǒng)執(zhí)行。實(shí)現(xiàn)高級(jí)語言的另外一種方式為解釋:

C#是編譯語言還是解釋語言

與編譯不同的是,解釋器在目標(biāo)程序(其實(shí)根本就沒有目標(biāo)程序,只是與編譯來對(duì)比)執(zhí)行期間,解釋器一直隨之運(yùn)行。這種執(zhí)行過程完全由解釋器控制的。從效果上看,解釋器實(shí)現(xiàn)了一臺(tái)“虛擬計(jì)算機(jī)”,其“機(jī)器語言”就是高級(jí)語言,解釋器一次讀入一條或多條語句,按照其自身規(guī)定的方式去執(zhí)行相應(yīng)的操作。一般說來,解釋比編譯有著很好的靈活性;編譯一般有著較好的性能。但是有些語言確是采用了兩者的混合形式:

C#是編譯語言還是解釋語言

書中的原文:”如果初始階段的翻譯器比較簡(jiǎn)單,我們就說這個(gè)語言是“解釋的”。如果翻譯器很復(fù)雜,我們就說這一語言是“編譯的”。現(xiàn)在兩者的區(qū)分變得有些模糊了,因?yàn)椤昂?jiǎn)單”和“復(fù)雜”都是修飾性術(shù)語,也因?yàn)橥耆赡艹霈F(xiàn)用一個(gè)編譯器(復(fù)雜的翻譯過程)生成代碼,而后又由一個(gè)復(fù)雜的虛擬機(jī)(解釋器)執(zhí)行。對(duì)于***這種情況,如果翻譯器對(duì)程序做了徹底的分析(而不是做某種“機(jī)械的”變換),而且有關(guān)的中間語言程序與源程序并沒有很強(qiáng)的相似性,我們還是說這個(gè)語言是編譯的。這兩種特性----徹底的分析和非平凡的變換-----是刻畫編譯方式的標(biāo)志性特征?!?/p>

根據(jù)以上標(biāo)準(zhǔn),首先CSC只是對(duì)C#到IL做”機(jī)械“的翻譯,而且C#和IL之間有很強(qiáng)的相似性,因?yàn)閮烧叩某绦虼a幾乎可以100%相互轉(zhuǎn)換(比如reflector可以將C#反編成IL,也可以將IL反編為C#)。

到此,相信大家對(duì)“C#是編譯語言還是解釋語言”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI