.NET涉及的一些名詞

來源:互聯網
上載者:User

標籤:++   設計   解釋執行   software   cli   dia   ati   標準   聯合   

本文在最為概略的層次上對.NET涉及的一些名詞進行解釋,

包括:

通用語言基礎架構(Common Language Infrastructure, CLI)、

虛擬執行系統(Virtual Execution System, VES)、

通用中繼語言(Common Intermediate Language, CIL)、

通用語言運行平台(Common Language Runtime, CLR)、

Managed 程式碼(Managed Code)、

託管C++(Managed Extensions for C++)、

C++/CLI、

.NET架構(.NET Framework)。

 

CLI是一個開放技術規範,由微軟聯合惠普以及英特爾於2000年向ECMA倡議(連同C#語言標準),2001年12月被ECMA採納為標準,2003年4月ISO也將其採納為國際標準。它定義了一個語言無關的跨體繫結構的運行環境,通俗的說它定義了一個虛擬機器以及在這個虛擬機器上啟動並執行中間代碼(類似於Java虛擬機器和Java位元組碼),這個虛擬機器叫做VES,中繼語言叫做CIL。更具體的說CLI由以下幾部分組成:

一般型別系統(Common Type System, CTS)

中繼資料系統(Metadata)

通用語言規範(Common Language Specification, CLS)

虛擬執行系統(Virtual Execution System, VES)

通用中繼語言(Common Intermediate Language, CIL)

架構(Framework)

值得一提的是, CIL原本叫做微軟中繼語言,即Microsoft Intermediate Language, MSIL,是完全基於堆棧的,它通過即時編譯(JIT)被VES載入到CPU上執行(這個Java位元組碼的解釋執行有區別)。

 

CLR是CLI的微軟實現版本,用來支援.NET,是微軟為他們的.NET的虛擬機器所選用的名稱(這裡的虛擬機器和上一段的有些不同)。

 

所謂Managed 程式碼就是能在CLR上啟動並執行代碼

 

託管C++,又稱為C++託管擴充(Managed Extensions for C++),是對C++的一個屬性和關鍵字的擴充,以便於在微軟公司的.NET Framework進行編程,是C++的超集。

 

C++/CLI,是由微軟設計,它在相容原有的C++標準的同時,支援CLI標準(也就是可以運行在CLR上),它已經被ECMA通過成為正式的標準(一門新程式設計語言標準),它被用來代替託管C++。

 

.NET是由微軟開發,一個致力于敏捷軟體開發(Agile software development)、快速應用開發(Rapid application development)、平台無關性和網路透明化的軟體開發平台。它以CLR為基礎,通俗的說,.NET是微軟對CLI標準的實現,這個實現的同時提供了強大的服務(包括類庫、開發工具、程式設計語言的支援)。

 

下面把這些概念再理一下:

CLI是一個標準(或者說,規範),VES和CIL是其組成部分,CLR是微軟對CLI標準的實現(這個關係類似於G++和C++標準);

所謂Managed 程式碼就是運行在CLR上的代碼,託管C++是微軟對C++的拓展,以使得它能在CLR上運行,從而和.NET整合,現在已經被C++/CLI取代,C++/CLI已經被採納為標準,C++/CLI是一門區別於C++的新程式設計語言;

.NET是微軟給開發人員提供的平台,以CLR為基礎,是微軟對CLI的實現,C#是.NET平台的首選程式設計語言

 

.NET涉及的一些名詞

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.