亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

關于CLR、CIL、CTS、CLS、CLI、BCL和FCL

2019-11-11 04:07:45
字體:
來源:轉載
供稿:網友

相關名詞解釋:

如果要想深入學習.NET平臺,那么標題中的這些關鍵字對你來說并不陌生,這些名詞構成了.NET龐大的生態系統,為了宏觀認識.NET平臺,學些.NET架構體系,針對一些常用常用名詞的理解是很有必要的,未必強行記憶,但至少要知道它們的含義。

CLR,公共語言運行時(Common Language Runtime)

無論通過任何語言構建產品,都必須寄宿到一個平臺中運行,這正如我們的軟件運行在操作系統環境一樣,操作系統為CLR提供了運行環境,使用.NET構建的程序又運行在CLR之上,CRL為.NET程序的運行提供了溫床,CLR提供基本的類庫和運行引擎,基本類庫封裝操作系統函數供開發者方便調用,運行引擎用于編譯并運行我們開發的程序。CLR包含.NET運行引擎和符合CLI的類庫。通過.NET平臺構建的程序都基于CLR基礎類庫來實現,并且運行在CLR提供的運行引擎之上。

編譯為托管代碼時,編譯器將源代碼翻譯為 Microsoft 中間語言 (MSIL),這是一組可以有效地轉換為本機代碼且獨立于 CPU 的指令。MSIL 包括用于加載、存儲和初始化對象以及對對象調用方法的指令,還包括用于算術和邏輯運算、控制流、直接內存訪問、異常處理和其他操作的指令。要使代碼可運行,必須先將 MSIL 轉換為特定于 CPU 的代碼,這通常是通過實時 (JIT) 編譯器來完成的。由于公共語言運行庫為它支持的每種計算機結構都提供了一種或多種 JIT 編譯器,因此同一組 MSIL 可以在所支持的任何結構上 JIT 編譯和運行。

CIL,公共中間語言(Common Intermediate Language)

CLI,簡稱微軟中間語言(MSIL)或者中間語言(IL)。CIL是編譯器將.NET代碼編譯成公共語言運行時(CLR)能夠識別的中間代碼。它是一種介于高級語言(例如C#)和CPU指令之間的一種語言。當用戶編譯一個.NET程序時,編譯器(例如VisualStudio)將C#源代碼編譯轉換成中間語言 (MSIL),它是一種能夠被CLR轉換成CPU指令的中間語言,當執行這些中間語言時,CLR提供的實時(JIT)編譯器將它們轉化為CPU特定的代碼。由于公共語言運行庫支持多種實時編譯器,因此同一段中間語言代碼可以被不同的編譯器實時編譯并運行在不同的CPU結構上。從理論上來說,MSIL將消除多年以來業界中不同語言之間的紛爭。在.NET的世界中可能出現下面的情況一部分代碼可以用C++實現,另一部分代碼使用C#或VB.NET完成的,但是最后這些代碼都將被轉換為中間語言。這給程序員提供了極大的靈活性,程序員可以選擇自己熟悉的語言,并且再也不用為學習不斷推出的新語言而煩惱了。

CTS,通用類型系統(Common Type System)

CTS是一種類型系統和語言規范,它能夠確保CLR能夠識別和處理的類型,所有.NET開發語言中的類型,無論時VS.Net類型還是C#.NET類型最終都會被編譯成CLR能夠識別的CTS類型,因此CTS是.NET平臺類型的抽象。例如VB.NET中的integer類型和C#中的int類型都編譯成CTS的System.Int32類型。如果某種語言編寫的程序能夠在CLR上運行,并不能說明這種語言完全符合CTS的規范。例如使用C++編寫的代碼,部分代碼并不符合CTS規范,在編譯時把這部分不符合CTS的代碼會被編譯成原始代碼本地CPU指令而非中間代碼。

CLS,公共語言規范(Common Language Specification)

CLS是CTS的一個子集,所有.NET語言都應該遵循此規則才能創建與其他語言可互操作的應用程序,但要注意的是為了使各語言可以互操作,只能使用CLS所列出的功能對象,這些功能統稱為與CLS兼容的功能,它是在.NET平臺上運行語言的最小規范,正因為.NET上不同語言能夠輕松交互一樣,例如C#編寫程序時可以直接引用并使用VB.NET編寫的類庫。為了達到這樣的交互,才制定出CLS規范,在.NET框架本身提供的所有類庫(并非所有)都是與CLS兼容的,在查看MSDN文檔時,不兼容的類和方法都被特別標記為不兼容,例如C#中的System.UInt32就標記為”此API不兼容CLS。兼容 CLS的替代API為 Int64?!埃@說明并不是所有的語言(例如VB.NET或J#)都支持無符號的數據類型,但這種數據類型與CLS不兼容的。

CLI,公共語言基礎架構(Common Language Infrastructure)

CLI是一個開放的技術規范。它是由微軟聯合惠普以及英特爾于2000年向ECMA倡議的。通用語言基礎架構定義了構成.NET Framework基礎結構的可執行碼以及代碼的運行時環境的規范,它定義了一個語言無關的跨體系結構的運行環境,這使得開發者可以用規范內定義的各種高級語言來開發軟件,并且無需修正即可將軟件運行在不同的計算機體系結構上。CLI有時候會和CLR混用。但嚴格意義上說,這是錯誤的。因為CLI是一種規范,而CLR則是對這種規范的一個實現。

歐洲計算機制造商協會(ECMA)已經于2001年10月13日批準C#語言規范(ECMA-334)成為一種新誕生的計算機產業標準。同時國際標準組織ISO也同意該標準進入該組織的審批階段。并且,作為.NET與CLR的核心部分,CLI與C#也同時獲得了ECMA的批準(ECMA-335)。擁有了C#與CLI這兩項標準,你可以自己寫出能夠運行于任何操作系統上的.NET平臺(只要你愿意)。如前所述,著名的MONO項目就是這么干的,MONO項目包括三個核心的部分:一個C#語言的編譯器,一個CLI和一個類庫。

BCL,基礎類庫(Base Class Library)

BCL是一個公共編程框架,稱為基類庫,所有語言的開發者都能利用它。是CLI(Common Language Infrastructure,公共語言基礎結構)的規范之一,主要包括:執行網絡操作,執行I/O操作,安全管理,文本操作,數據庫操作,xml操作,與事件日志交互,跟蹤和一些診斷操作,使用非托管代碼,創建與調用動態代碼等,粒度相對較小,為所有框架提供基礎支持。

FCL,框架類庫(Framework Class Library)

FCL提供了大粒度的編程框架,它是針對不同應用設計的框架 ,FCL大部分實現都引用了BCL,例如我們常說的開發框架:asp.net、MVC、WCF和WPF等等,提供了針對不同層面的編程框架 。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品在线视频| 岛国av一区二区三区| 在线成人激情视频| 亚洲综合在线小说| 日韩网站在线观看| www.美女亚洲精品| 精品自在线视频| 日韩精品极品在线观看| 国模视频一区二区三区| 97精品国产91久久久久久| 欧美电影免费观看大全| 国产精品久久久久福利| 亚洲天堂成人在线| 亚洲大尺度美女在线| 91网站免费观看| 久久久国产精品x99av| 亚洲成人久久久| 欧美激情免费在线| 性欧美亚洲xxxx乳在线观看| 亚洲国产天堂网精品网站| 亚洲美女中文字幕| 亚洲第一中文字幕在线观看| 国内精品久久久久久久久| 欧美另类交人妖| 欧美日韩国产成人高清视频| 亚洲香蕉av在线一区二区三区| 国产精品一区二区电影| 日韩免费观看视频| 久久精品国产电影| 91精品久久久久久久| 欧美亚洲一区在线| 国产精品激情av电影在线观看| 久久综合久中文字幕青草| 欧美中文字幕在线播放| 国产女精品视频网站免费| 国产精品中文字幕久久久| 久热爱精品视频线路一| 日韩亚洲一区二区| 91在线|亚洲| 欧美黑人一区二区三区| 精品国偷自产在线视频99| 日本精品视频在线播放| 91视频国产高清| 国产精品一区专区欧美日韩| 在线丨暗呦小u女国产精品| 欧美性20hd另类| 精品久久久视频| 亚洲综合在线小说| 亚洲日本中文字幕| 欧美国产激情18| 久久久久www| 日韩色av导航| 亚洲男人天堂2023| 日韩在线观看免费高清完整版| 亚洲天堂成人在线| 中文字幕亚洲欧美日韩2019| 亚洲成人在线视频播放| 国产成人一区二区| 国产人妖伪娘一区91| 日韩av网址在线观看| 日韩综合中文字幕| 日本免费久久高清视频| 精品精品国产国产自在线| 中文字幕亚洲一区在线观看| 国产精品高潮呻吟久久av无限| 国产成人涩涩涩视频在线观看| 色综合天天综合网国产成人网| 欧美精品电影在线| 大荫蒂欧美视频另类xxxx| 日韩在线播放av| 狠狠躁夜夜躁人人爽天天天天97| 午夜精品理论片| 97精品国产97久久久久久免费| 欧美精品少妇videofree| 国产精品久久久久免费a∨大胸| 国产精品免费久久久久久| 久久影院中文字幕| 国产欧美在线视频| 日韩美女写真福利在线观看| 欧美日韩在线视频首页| 91精品久久久久久久久久| 国产精品jizz在线观看麻豆| 久久夜精品va视频免费观看| 欧美激情第一页xxx| 国产精品久久综合av爱欲tv| 九九精品在线播放| 九九精品在线视频| 91香蕉国产在线观看| 久久高清视频免费| 尤物九九久久国产精品的分类| 日韩av电影在线播放| 亚洲精品videossex少妇| 高清日韩电视剧大全免费播放在线观看| 精品色蜜蜜精品视频在线观看| 亚洲国产成人在线播放| 国产精品成人一区二区| 欧美激情区在线播放| 欧美性videos高清精品| 亚洲999一在线观看www| 亚洲激情第一页| 日韩中文字幕国产| 美女扒开尿口让男人操亚洲视频网站| 国产精品久久中文| 影音先锋日韩有码| 91香蕉嫩草影院入口| 国产精品日韩在线一区| 日韩视频亚洲视频| 国产亚洲一区精品| 狠狠色狠狠色综合日日五| 欧洲成人午夜免费大片| 欧美精品videosex牲欧美| 日韩电影中文 亚洲精品乱码| 国产成人精品av在线| 国产精品久久久久久久久借妻| 国产亚洲激情视频在线| 午夜精品99久久免费| 亚洲人成电影网站色www| 8x拔播拔播x8国产精品| 欧美大片在线看免费观看| 国产成人精品综合久久久| 午夜剧场成人观在线视频免费观看| 一区二区国产精品视频| 日韩hd视频在线观看| 日本精品视频在线观看| 午夜精品久久久久久久99黑人| 欧美在线www| 欧美亚洲另类制服自拍| 亚洲欧美成人网| 亚洲少妇激情视频| 国产精品观看在线亚洲人成网| 亚洲性69xxxbbb| 在线a欧美视频| 国产精品第8页| 亚洲国产成人精品一区二区| 午夜精品蜜臀一区二区三区免费| 亚洲精品视频免费在线观看| 亚洲无限乱码一二三四麻| 丝袜亚洲另类欧美重口| 欧美精品videos另类日本| 国产精品99久久久久久www| 日韩欧美精品网址| 精品久久久精品| 欧美日韩日本国产| 国产精品视频白浆免费视频| 亚洲性猛交xxxxwww| 亚洲精品日韩在线| 亚洲大胆美女视频| 欧美色道久久88综合亚洲精品| 国产在线精品一区免费香蕉| 日韩av网站电影| 久久久精品2019中文字幕神马| 国产精品激情av电影在线观看| 亚洲国产精品推荐| 亚洲精品国产精品自产a区红杏吧| 日av在线播放中文不卡| 欧美大荫蒂xxx| 热久久视久久精品18亚洲精品| 国产精品www色诱视频| 国产精品亚洲аv天堂网| 亚洲免费视频一区二区| 精品视频在线播放免| 久久成人精品视频| 国产精品pans私拍| 亚洲精品91美女久久久久久久|