.Net框架中的CLR,CTS,ClS的解釋

CLR的全稱(Common Language Runtime) 公共語言運行時編程

  能夠把它理解爲包含運行.Net程序的引擎 和 一堆符合公用語言基礎(CLI)的類庫的集合,他是一個規範的實現,咱們開發的大多數.Net程序都是基於公用語言基礎(CLI)的類庫實現,並運行在CLR運行的引擎上。一般所說的.Net框架 就是CLR框架

 

CLS的全稱(Common Language Specification) 公用語言規範編程語言

  CLS是CTS的一個子集,定義了但願編寫可以在.net平臺上運行的程序的語言所需符合的最小規範。正是由於.net容許由不一樣語言編寫的程序一塊兒執行,因此有了CLS來避免不一樣語言特性帶來的錯誤。它是CLI的一部份內容,目的是保證各類語言與.NET Framework的兼容性spa

   

CTS的全稱(Common Type System) 通用類型系統.net

  Microsoft提交的CLI規範中,包括了CTS CIL(公用中間語言)底部文件格式 元數據格式等。CTS定義了一個可以在CLR上運行的語言規範。blog

 

CLI的全稱(Common Language Infrastructure)公用語言基礎ip

  是Microsoft想ECMA提交的一份語言和數據格式規範。CLR是目前爲止 惟一一個CLI實現版本ci

 

   CLR是.NET Framework的核心,而CTS和CLS是CLR的核心。任何編程語言,若是想要在.NET CLR上執行,就必需提供一個編譯器,將此語言的程序編譯成.NET CLR所認識的metadata以及IL,符合CTS的規定。並不是全部的語言都能和C#同樣符合CTS的規範,畢竟許多語言出如今先,CTS出如今後,因此有一些舊的語言未能符合CTS的規定。開發

 

 

CLR是CLI的實現,包含了.NET運行引擎和符合CLI的類庫編譯器

 

CTS包含在CLI規範中,定義了一個能夠在CLR上運行的類型規範

 

CLS是CTS的子集,定義了全部面向.NET的程序所需符合的最小規範集。

 

tips:

 

   FCL  Framework Class Library (基類庫)

 

   BCL  Base Class Library  (框架類庫)

相關文章
相關標籤/搜索