日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
圖文講解.NETCLR是什么

大家首先要清楚的是,.NET平臺(tái)與C#不是一回事.這點(diǎn)大家一定要明白,對(duì)開發(fā)人員來講他有兩個(gè)概念。第一,它是C#,VB.net等程序運(yùn)行的平臺(tái)。第二,它因?yàn)闉檫@些語言提供了豐富的類庫(稱之為基類庫),.NET CLR是什么我們現(xiàn)在來一起看看吧。

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蕉城做網(wǎng)站,已為上家服務(wù),為蕉城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

NET CLR是什么

對(duì)于一個(gè)將要面向.NET平臺(tái)進(jìn)行開發(fā)的人來說,了解一下.NET平臺(tái)的整個(gè)構(gòu)成是非常有必要的,如圖1所示即說明了.NET平臺(tái)的整體結(jié)構(gòu):

這個(gè)圖就是著名的.NET平臺(tái)結(jié)構(gòu)圖,從這個(gè)圖上可以看到,.NET Framework是在Microsoft.NET平臺(tái)上開發(fā)的基礎(chǔ),ASP.NET、Windows Forms 和VS.NET都不過是.NET平臺(tái)開發(fā)的一部分,他的用于.NET應(yīng)用程序的開發(fā)及展示。.NET平臺(tái)的核心技術(shù)為:通用語言運(yùn)行時(shí)(CLR:Common Language Runtiome)、基類庫(BCL:Base Class Library)、.NET語言及Visual Studio.NET

從這個(gè)圖上可以看出,.NET Framework是架構(gòu)在Windows平臺(tái)上的一個(gè)虛擬的運(yùn)行平臺(tái),你可以想象將最下層Windows換做其他的操作系統(tǒng),例如說Linux,一樣可以實(shí)現(xiàn)使用符合CLS(Common Language Specification,通用語言規(guī)范)的.NET語言,(VB.NET、C#、JScript.NET等),來創(chuàng)建ASP.NET或Windows Form(可能會(huì)叫Linux Forms)應(yīng)用程序的功能,這其實(shí)就是Mono計(jì)劃要實(shí)現(xiàn)的功能。所以可以這么認(rèn)為,理論上,C#是一種可以跨平臺(tái)的語言,這很象Java。C#另一個(gè)比較象Java的地方是,它也是一種(特殊意義上的)語言,同Java一樣,C#編寫的程序代碼也是先通過C#編譯器編譯為一種特殊的字節(jié)代碼, (Microsoft Intermediate Language,MSIL,微軟)中間語言,運(yùn)行時(shí)再經(jīng)由特定的編譯器(JIT編譯器,Just In tIME,  JITer)編譯為機(jī)器代碼,以供操作系統(tǒng)執(zhí)行.
 不僅是C#語言,所有.NET語言(將會(huì)包括我們常用的幾十種現(xiàn)代的編碼語言)都可以編寫面向CLR的程序代碼,這種代碼在.NET中被稱為托管代碼(Managed Code),所有的Managed Code都直接運(yùn)行在CLR上,具有與平臺(tái)無關(guān)的特性。

解釋性的語言很安全,并且可以通過他的運(yùn)行平臺(tái)為其賦予更多的功能,例如自動(dòng)內(nèi)存管理,異常處理等,事實(shí)上,C#語言的許多特點(diǎn)都是由CLR提供的,如圖2所示的CLR結(jié)構(gòu)圖說明了這一點(diǎn)。

從圖2可以看到,C#所具有的許多特點(diǎn)都是由CLR提供的,如類型安全(Type Checker)、垃圾回收(Garbage Collector)、異常處理(Exception Manager)、向下兼容(COM Marshaler)等,具體的說,.NET上的CLR為開發(fā)者提供如下的服務(wù):
◆平臺(tái)無關(guān):CLR實(shí)際上是提供了一項(xiàng)使用了虛擬機(jī)技術(shù)的產(chǎn)品,他構(gòu)架在操作系統(tǒng)之上,并不要求程序的運(yùn)行平臺(tái)是 Windows系統(tǒng),只要是能夠支持它的運(yùn)行庫的系統(tǒng),都可以在上面運(yùn)行.NET應(yīng)用。所以,一個(gè)完全由托管代碼組成的應(yīng)用程序,只要編譯一次,就可以在任何支持.NET的平臺(tái)上運(yùn)行.
◆跨語言集成:CLR語序開發(fā)這以任何語言進(jìn)行開發(fā),用這些語言開發(fā)的代碼,可以在CLR環(huán)境下緊密無縫的進(jìn)行交叉調(diào)用,例如,可以用VB聲明一個(gè)基類對(duì)象,然后在C#代碼中直接創(chuàng)建次基類的派生類。
◆自動(dòng)內(nèi)存管理:CLR提供了拉架收集機(jī)制,可以自動(dòng)管理內(nèi)存。當(dāng)對(duì)象或變量的生命周期結(jié)速后,CLR會(huì)自動(dòng)釋放他們所占用的內(nèi)存.
◆跨語言異處理
◆版本控制
◆.NET安全
◆簡(jiǎn)單的組件互操作性。
◆自描述組件:自描述組件是指將所有數(shù)據(jù)和代碼都放在一個(gè)文件中的執(zhí)行文件。自描訴組件可以大大簡(jiǎn)化系統(tǒng)的開發(fā)和配置,并且改進(jìn)系統(tǒng)的可靠性。

通用語言運(yùn)行時(shí)(CommonLanguageRuntiome,CLR)最早被稱為下一代Windows服務(wù)運(yùn)行時(shí)(NGWS Runtime).它是直接建立在操作系統(tǒng)上的一個(gè)虛擬環(huán)境,主要的任務(wù)是管理代碼的運(yùn)行。CLR現(xiàn)在支持幾十種現(xiàn)代的編程語言為它編寫代碼,然后以一種中間語言(Intermediate Langeoage,IL)代碼的形成被執(zhí)行。并且,CLR還提供了許多功能以簡(jiǎn)化代碼的開發(fā)和應(yīng)用配置,同時(shí)也改善了應(yīng)用程序的可靠性。如你所知,如果某種語言的編譯器是以運(yùn)行時(shí)為目標(biāo)的,那么利用該語言開發(fā)生成的代碼在.NET中被稱為托管代碼,因?yàn)檫@樣的代碼是直接運(yùn)行在CLR上的,所以具有與平臺(tái)無關(guān)的特點(diǎn)。

在.NET平臺(tái)結(jié)構(gòu)圖中,CLR的上面是.NET的基類庫,這組基類庫包括從基本輸入輸出到數(shù)據(jù)訪問等各方面,提供了一個(gè)統(tǒng)一的面向?qū)ο蟮?,層次化的,可擴(kuò)展的編程接口。從.NET平臺(tái)結(jié)構(gòu)圖中也可以看到,基類庫可以被各種語言調(diào)用和擴(kuò)展,也就是說不管是 C#,VB.NET還是VC++.NET,都可以自由的調(diào)用,.NET的類庫,因?yàn)镃#自身只有77個(gè)關(guān)鍵字,而且語法對(duì)程序員來說無需費(fèi)工夫?qū)W習(xí)。 BCL則相反,它包含了4500個(gè)以上的類和無數(shù)的方法,屬性,在你的C#程序中隨時(shí)都可能會(huì)用到它來完成自己的任務(wù).

還有一個(gè)很重要的概念你需要明白,這就是公共語言架構(gòu)(Common Language Infrastructure,CLI).CLI是CLR的一個(gè)子集,也就是.NET中最最終對(duì)編譯成MSIL代碼的應(yīng)用程序的運(yùn)行環(huán)境進(jìn)行管理的那一部分。在CLR結(jié)構(gòu)圖中CLI位于下半部分,主要包括類加載器(Class Loader)、實(shí)時(shí)編譯器(IL To Native Compilers)和一個(gè)運(yùn)行時(shí)環(huán)境的垃圾收集及將使用任何語言編寫的代碼,通過其特定的編譯器轉(zhuǎn)換為MSIL代碼之后運(yùn)行其上,甚至還可以自己寫 MSIL在CLI上運(yùn)行.以上就是介紹.NET CLR是什么。

【編輯推薦】

  1. 使用CLR存儲(chǔ)過程來傳回訊息實(shí)戰(zhàn)案例
  2. 經(jīng)典案例之創(chuàng)建CLR存儲(chǔ)過程
  3. 概括Visual Studio CLR調(diào)試器兩種方法
  4. Visual Studio中SQL SERVER CLR代碼調(diào)試工具使用講解
  5. 全面概括SQL SERVER調(diào)用CLR類庫實(shí)現(xiàn)步驟

新聞標(biāo)題:圖文講解.NETCLR是什么
文章鏈接:http://m.5511xx.com/article/cojieci.html