真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CLR執(zhí)行模型簡(jiǎn)介

1:首先先明確CLR的概念:

CLR(Common Language Runtime):公共語言運(yùn)行時(shí),是一個(gè)可由多種編程語言使用的"運(yùn)行時(shí)";

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了興安免費(fèi)建站歡迎大家使用!

在運(yùn)行時(shí),CLR根本不關(guān)心開發(fā)人員用的是哪一種語言來變寫代碼,它只關(guān)注語言是否是面向CLR(面向運(yùn)行時(shí))的.

2:CLR的核心功能包括:

內(nèi)存管理、程序集加載、安全性、異常處理和線程同步。

3:如圖:

CLR執(zhí)行模型簡(jiǎn)介

無論是用的是哪一種編譯器,結(jié)果都是一個(gè)托管模塊(managed module),托管代碼時(shí)一個(gè)標(biāo)準(zhǔn)的32位/64位Microsoft Windows可移植執(zhí)行體(PE32/PE32+)文件.

本地代碼編譯器,生成的是面向特定CPU架構(gòu)(X86,X64或IA64)的代碼.相反,每個(gè)面向CLR的編譯器生成的都是IL(中間語言)代碼,IL代碼也被稱為托管代碼.

除了生成IL,面向CLR的每個(gè)編譯器還要在每個(gè)托管模塊中生成完整的元數(shù)據(jù),元數(shù)據(jù)是一組數(shù)據(jù)表.其中一些數(shù)據(jù)表描述了模塊中定義的內(nèi)容,元數(shù)據(jù)其實(shí)就是編譯器所生成的一些完整數(shù)據(jù).

4:CLR實(shí)際是不和模塊一起工作的,它是和程序集一起工作的.

5:加載公共語言運(yùn)行時(shí)

我們生成的每個(gè)程序集既可以是一個(gè)可執(zhí)行應(yīng)用程序,也可以是一個(gè)DLL,最終是由CLR管理這些程序集中的代碼的執(zhí)行,所以必須在運(yùn)行機(jī)器中安裝.NET FrameWork.WIndows一些版本系統(tǒng)已經(jīng)內(nèi)置打包了好了.NET FrameWork.不過需要我們手動(dòng)的開啟.可以在控制面板中進(jìn)行啟動(dòng)在此就不做詳細(xì)解釋.作為開發(fā)人員,這是不需要解釋的.

6:執(zhí)行程序集的代碼

 執(zhí)行一個(gè)方法,第一必須把它的IL轉(zhuǎn)換為本地CPU指令,這是CLR的JIT的本質(zhì).

如圖:

CLR執(zhí)行模型簡(jiǎn)介

 就在Main方法執(zhí)行之前,CLR會(huì)檢測(cè)Main的代碼引用的所有的類型,這導(dǎo)致CLR分配一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),用于管理對(duì)所引用的類型的訪問.

一個(gè)方法只有在首次調(diào)用時(shí),才會(huì)造成一些性能損失,以后對(duì)該方法的所有調(diào)用都以本地代碼的形式全速運(yùn)行.無需重新驗(yàn)證IL并把它編譯成本地代碼.

JIT編譯器將本地CPU指令存儲(chǔ)到動(dòng)態(tài)內(nèi)存中,一旦應(yīng)用程序終止,編譯好的代碼也會(huì)被丟棄,所以,如果將來再次運(yùn)行應(yīng)用程序,或者同時(shí)啟動(dòng)應(yīng)用程序的兩個(gè)實(shí)例,JIT編譯器必須再次將IL編譯成本地指令.

6:IL驗(yàn)證.

IL是基于棧的,所以它的所有指令都要將操作數(shù)壓入(push)一個(gè)執(zhí)行棧,并從棧彈出(POP)結(jié)果.由于IL沒有提供操作寄存器的指令,所以人們可以很容易地創(chuàng)建新的語言和編譯器,生成CLR的代碼.IL指令是無類型的.IL的好處在于是健壯和安全的,因?yàn)樗幾g為CPU指令,CPU會(huì)進(jìn)行驗(yàn)證是否安全.

7:Framework類庫

 FCL(Framework Class Library):是一組DLL程序集的統(tǒng)稱,其中含有很多的類型定義,每個(gè)類型都公開了一些功能.

 Web服務(wù):Web service 技術(shù)或者WCF技術(shù),可以非常簡(jiǎn)單的處理通過Internet發(fā)送的消息.

 Web窗體應(yīng)用程序:Web Form

 Windows應(yīng)用程序:開發(fā)windows GUI應(yīng)用程序.

 富Internet應(yīng)用程序:Silverlight技術(shù),可以構(gòu)建通過Internet來部署的GUI應(yīng)用程序.這種程序能在Web瀏覽器的內(nèi)部或外部運(yùn)行,還可以在非Windows操作系統(tǒng)與移動(dòng)設(shè)備傻瓜運(yùn)行.

 Window控制臺(tái):提供簡(jiǎn)單快捷方便的方式,生成應(yīng)用程序,編譯器.

 Window服務(wù):可以通過.NET FrameWork 生成"服務(wù)"應(yīng)用程序.

 數(shù)據(jù)庫存儲(chǔ)過程:編寫存儲(chǔ)過程

 組件庫:.NET FrameWord允許生成獨(dú)立的程序集(組件),其中包含的類型可以輕松集成到任意的程序庫中.


當(dāng)前名稱:CLR執(zhí)行模型簡(jiǎn)介
URL網(wǎng)址:http://weahome.cn/article/gssdso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部