通用語言架構
外觀
通用語言基礎架構(英語:Common Language Infrastructure,縮寫:CLI)是一個開放的技術規範。它是由微軟聯合惠普以及英特爾於2000年向ECMA倡議的。通用語言基礎架構定義了構成.NET Framework基礎結構的可執行碼以及代碼的運行時環境的規範,它定義了一個語言無關的跨體系結構的運行環境,這使得開發者可以用規範內定義的各種高級語言來開發軟件,並且無需修正即可將軟件運行在不同的計算機體系結構上。國際標準CLI定義在ISO/IEC 23271,最新版本在2012年修定。[1]
概要
[編輯]CLI標準包含以下更詳細的規範
- 通用類型系統(Common Type System, CTS)
- 元數據系統(Metadata)
- 通用語言規範(Common Language Specification, CLS)
- 虛擬執行系統(Virtual Execution System, VES)
- 通用中間語言(Common Intermediate Language, CIL)
- 框架(Framework)
適合CLI規範的程序都是編譯成通用中間語言,之後在執行過程中被虛擬執行系統的即時編譯技術編譯為機器碼從而執行。
對CLI的實現
[編輯]- Microsoft .NET Framework - 微軟提供的面向Windows系統的實現,提供了各種各樣的程序庫,工具等。
- Microsoft Silverlight - 微軟提供的一個跨平台實現,能同時在Windows和Macintosh操作系統上運行。
- .NET Compact Framework - 微軟提供的面向便攜式系統的商用實現。
- Microsoft XNA - 微軟提供給遊戲開發人員使用的一個CLI,面向的是XBOX和Windows Vista。
- Rotor - Microsoft Shared Source CLI(Rotor)微軟開發出來的一個在Window,Mac OS X和FreeBSD上運行的一個CLI實現,但微軟並沒有授權用Rotor開發商業程序,只是一個學習工具。
- Mono - 由Novell贊助開發的開源實現,它能夠應用於Linux,Mac OS等多種操作系統。
- dotGNU - dotGNU項目也是一個開源並且自由的實現。
參考文獻
[編輯]引用
[編輯]- ^ ISO/IEC 23271:2012 - Information technology -- Common Language Infrastructure (CLI). [2014-03-06]. (原始內容存檔於2016-08-22).
來源
[編輯]- Standard ECMA-335, Common Language Infrastructure(CLI). Ecma International. [2005-08-31]. (原始內容存檔於2013-06-26).
- ISO/IEC 23271, Common Language Infrastructure. ISO. [2005-08-31]. (原始內容存檔於2007-02-18).