<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團(tuán)論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  C++語(yǔ)言開(kāi)發(fā)  (http://www.hufushizhe.com/bbs/list.asp?boardid=63)
    ----  到底C#是編譯語(yǔ)言還是解釋語(yǔ)言  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=63&id=2427)

    --  作者:wangxinxin
    --  發(fā)布時(shí)間:2010-12-10 14:33:43
    --  到底C#是編譯語(yǔ)言還是解釋語(yǔ)言

    我們這里須要討論的是C#是編譯語(yǔ)言還是解釋語(yǔ)言?將從解釋來(lái)執(zhí)行 討論,并結(jié)合流程圖來(lái)說(shuō)明。希望最后的結(jié)論,能對(duì)大家有所幫助。

    “C# Java是解釋型語(yǔ)言?Oh my god”

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

    呵呵 我也很詫異“

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

    無(wú)知并不可憐,無(wú)知還不知道自己無(wú)知才叫可憐”

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

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

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

    昨天翻了翻龍書(shū),也沒(méi)有給這兩個(gè)概念下細(xì)致的解釋,可見(jiàn)兩個(gè)概念是很難下個(gè)精確的解釋的。

    在<<programming language="" Pragmatics>>(by Michaei L. Scott)這本書(shū)里面,我找到了有關(guān)的解釋和說(shuō)明,特摘錄如下

    Compilation and Interpretation

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

    討論:到底C#是編譯語(yǔ)言還是解釋語(yǔ)言圖片1

    點(diǎn)擊查看大圖

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

    討論:到底C#是編譯語(yǔ)言還是解釋語(yǔ)言圖片2

     

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

    討論:到底C#是編譯語(yǔ)言還是解釋語(yǔ)言圖片3

    點(diǎn)擊查看大圖

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

    根據(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#)。您認(rèn)為呢?

    PS:再者某些人認(rèn)為的ngen和cache程序集其實(shí)也是支持C#是解釋語(yǔ)言的結(jié)論,因?yàn)榫幾g型語(yǔ)言因?yàn)樾阅艿奶烊灰蛩厥遣豁氁@些手段的。也許我是錯(cuò)的,請(qǐng)您不吝賜教,感激涕零.本人禁止了不負(fù)責(zé)任的匿名評(píng)論,請(qǐng)大家海涵。


    主站蜘蛛池模板: 免费又黄又硬又大爽日本| 天堂mv在线免费看| 亚洲码欧美码一区二区三区| 美女国产毛片a区内射| 国产精品国语对白露脸在线播放| 中文字幕在线久热精品| 日韩精品在线电影| 亚洲精品电影网| 精品四虎免费观看国产高清午夜| 国产日韩综合一区二区性色av| freefron性中国国产高清| 成在人线av无码免费高潮水| 亚洲aⅴ男人的天堂在线观看| 欧美视频在线观看网站| 哒哒哒免费视频观看在线www| 韩国中文字幕电影| 国产美女做a免费视频软件| 中国一级黄色片子| 日本免费的一级v一片| 亚洲日韩精品无码专区加勒比| 真实调教奇优影院在线观看| 国产午夜三级一区二区三 | 欧美极品在线观看| 向日葵app看片视频| 青青国产精品视频| 国产精品影音先锋| www.日韩在线| 成人区人妻精品一区二区不卡视频 | 免费又黄又硬又爽大片| 精品欧美军人同性videos| 国产成人免费高清激情视频| 91精品国产免费久久久久久青草 | 亚洲综合校园春色| 秋霞黄色一级片| 国产一级特黄a大片免费| 麻豆国产精品免费视频| 国产精品成人va在线观看| wwwxxxx黄色| 性xxxx黑人与亚洲| 国产无套在线播放| 亚洲伊人色一综合网|