免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
NET程序是如何編譯的
NET程序是如何編譯的?

      如果在系統(tǒng)中運(yùn)行.NET程序,必須先安裝相應(yīng)版本的.NET框架。.NET程序不是已經(jīng)編譯過了么?為什么還要依賴.NET框架呢?這和.NET程序的運(yùn)行機(jī)制有關(guān),傳統(tǒng)上,程序分為源代碼層和編譯后的本機(jī)代碼層(機(jī)器碼)。而.NET提供了對多種編程語言以及多重平臺的支持,所以在其中添加了中間代碼層,中間代碼被稱為IL或MSIL。由于多了中間代碼,使.NET程序有了更好的靈活性,有運(yùn)行多個(gè)平臺的可能(如Linux系統(tǒng))。

       .NET框架的核心是CLR,即公共語言運(yùn)行時(shí),CLR是.NET程序的運(yùn)行庫環(huán)境。中間語言需要在CLR中運(yùn)行,并轉(zhuǎn)換成機(jī)器碼,所以.NET程序必須依賴.NET框架才能運(yùn)行。以C#語言為例,C#編譯器編譯的程序只有中間語言構(gòu)成,無法直接運(yùn)行,必須由CLR執(zhí)行。

補(bǔ)充:

       .NET的這種編譯運(yùn)行機(jī)制和Jave、ActionScript較相似,Java第一次編譯為字節(jié)碼,而Java良好的移植性得益于此。只要客戶機(jī)安裝了Java虛擬機(jī)(JVM),就可以直接運(yùn)行Java程序(JVM將字節(jié)碼編譯成機(jī)器碼)。類似的,ActionScript同樣第一次被編譯成字節(jié)碼,并存放在swf文件中。只要客戶機(jī)安裝了FlashPlayer,swf即可運(yùn)行,因?yàn)镕lashPlayer含有AS虛擬機(jī)(AVM)??梢姡?NET的CLR和JVM、AVM是殊途同歸。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
從高級源碼到機(jī)器碼的過程,反射DLL加載卸載
XMLVM首頁、文檔和下載
JAVA跨平臺原理
為什么有這么多 Python?(1)
Java基礎(chǔ):JVM(Java 虛擬機(jī))的詳細(xì)講解
Java三種編譯方式: 前端編譯 JIT編譯 AOT編譯
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服