1、什么是 CLS?
CLS = Common Language Specification—通用語(yǔ)言規(guī)范。它是預(yù)計(jì)所有 .NET 語(yǔ)言都支持的一個(gè) CTS 的子集。這一思想是讓使用 CLS-相容類型的任何程序和以任何語(yǔ)言編寫的 .NET 程序可以互相操作。
理論上它能允許在不同的 .NET 語(yǔ)言之間有緊密的互操作性—例如允許從一個(gè) VB 類里繼承一個(gè) C# 類。
2、什么是 CTS?
CTS = Common Type System—通用類型系統(tǒng)。它是指 .NET 運(yùn)行庫(kù)所理解、并且隨后 .NET 應(yīng)用程序可以使用的一系列類型。然而,注意不是所有的 .NET 語(yǔ)言都將支持 CTS 中的所有類型。CTS 是 CLS 的超集。
3、什么是 CLR?
CLR = Common Language Runtime—通用語(yǔ)言運(yùn)行庫(kù)。CLR 是一組標(biāo)準(zhǔn)資源集合,無(wú)論編程語(yǔ)言是什么,所有 (理論上) .NET 程序都能從中獲益。Robert Schmidt (Microsoft) 在他的 MSDN PDC# 文章 中列出了以下 CLR 資源:
面向?qū)ο蟮木幊棠P?(繼承、多態(tài)、異常處理、垃圾收集)
安全模型
類型系統(tǒng)
所有的 .NET 基礎(chǔ)類
許多 .NET 框架類
開(kāi)發(fā)、調(diào)試和測(cè)評(píng)工具
運(yùn)行和代碼管理
IL-機(jī)器語(yǔ)言 轉(zhuǎn)換器和優(yōu)化器
這些的含義是,在 .NET 世界里,不同的編程語(yǔ)言將在能力上比過(guò)去任何時(shí)候都更平等,雖然顯然不是所有語(yǔ)言都支持所有 CLR 服務(wù)。
4、什么是映像?
所有的 .NET 編譯器都產(chǎn)生關(guān)于它們所產(chǎn)生的模塊中的類型定義的特殊數(shù)據(jù)。這些特殊數(shù)據(jù)同模塊封裝在一起 (隨后模塊被封裝到元件中),可以通過(guò)稱為映像 的機(jī)制來(lái)訪問(wèn)。System.Reflection 命名空間中包含向模塊或元件詢問(wèn)其類型的類。
使用映像來(lái)訪問(wèn) .NET 的特殊數(shù)據(jù)同使用 ITypeLib/ITypeInfo 來(lái)訪問(wèn) COM 中的類型庫(kù)數(shù)據(jù)非常相似,而且使用的目的也很相似—例如確定數(shù)據(jù)類型大小,以便在上下文、進(jìn)程、機(jī)器的邊界間調(diào)度它們。
映像還可以被用來(lái)動(dòng)態(tài)調(diào)用方法 (參見(jiàn) System.Type.InvokeMember),甚至在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建類型 (參見(jiàn) System.Reflection.Emit.TypeBuilder )。
5、什么是 C#?
C# 是在 .NET 框架中運(yùn)行的一種新語(yǔ)言。在他們的“C# 簡(jiǎn)介”白皮書中,Microsoft 這樣描述 C#:
“C# 是從 C 和 C++ 派生出來(lái)的一種簡(jiǎn)單的、面向?qū)ο蟮�、并且是類型安全的現(xiàn)代編程語(yǔ)言。C# (發(fā)音為‘C sharp’) 牢固地根植于在 C 和 C++ 家族之樹(shù),將很快為 C 和 C++ 程序員所熟悉。C# 幫助開(kāi)發(fā)者將 Visual Basic 的高生產(chǎn)率和 C++ 的直接控制能力結(jié)合起來(lái)。”
將以上引言中的“C#”換成“Java”,你會(huì)發(fā)現(xiàn)這句陳述依然很正確。
6 、什么是 IL?
IL = Intermediate Language—中間語(yǔ)言。又稱為 MSIL。所有 .NET 源代碼 (使用任何語(yǔ)言) 被編譯為 IL。然后在軟件的安裝點(diǎn)上或者運(yùn)行時(shí),IL 由即時(shí) (JIT) 編譯器轉(zhuǎn)換為機(jī)器碼。
更多相關(guān)文章可訪問(wèn):http:///html/jsjl/sjk/
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問(wèn)答!