CTS CLS和CLR分別作何解釋?

2021-09-08 03:16:22 字數 2080 閱讀 6490

cts、cls和clr分別作何解釋?問題闡述

cts、cls和clr分別是什麼意思?

專家解答

cts、cls和clr是.net框架的3個核心部分,下面分別對它們進行介紹。

(1)cts

cts即通用型別系統,它定義了如何在.net framework執行庫中宣告、使用和管理型別,同時也是.net framework執行庫支援跨語言整合的乙個重要組成部分。通用型別系統主要執行以下功能:

建立乙個支援跨語言整合、型別安全和高效能**執行的框架。

提供乙個支援完整實現多種程式語言的物件導向的模型。

定義各語言必須遵守的規則,有助於確保用不同語言編寫的物件能夠發生互動  作用。

.net framework類庫中的通用型別系統支援兩種類別的型別,分別為值型別和引用型別,下面分別對它們進行簡單介紹。

值型別

值型別直接包含它們的資料,值型別的例項要麼在堆疊上,要麼內聯在結構中。值型別可以是內聯的(由執行庫實現)、使用者定義的或列舉的。

引用型別

引用型別儲存對值的記憶體位址的引用,位於堆上。引用型別可以是自描述型別、指標型別或介面型別。引用型別的型別可以由自描述型別的值來確定,自描述型別進一步細分成陣列和類型別,類型別是使用者定義的類、裝箱的值型別和委託。圖1.1顯示了通用型別系統的一般結構。

圖1.1  通用型別系統的結構

(2)cls

cls即公共語言規範,它是許多應用程式所需的一套基本語言功能。cls規則定義了通用型別系統的子集,即所有適用於公共型別系統的規則都適用於 cls,除非cls中定義了更嚴格的規則。cls通過定義一組開發人員可以確信在多種語言中都可用的功能來增強和確保語言的互用性。cls還建立了cls 遵從性要求,可幫助使用者確定託管**是否符合cls以及乙個給定的工具對託管**(該**是使用cls功能的)開發的支援程度。

cls在設計上足夠大,可以包括開發人員經常需要的語言構造;同時也足夠小,大多數語言都可以支援它。此外,任何不可能快速驗證**型別安全性的語言構造都被排除在cls之外,以便所有符合cls的語言都可以生成可驗證的**。

(3)clr

clr即公共語言執行庫,是.net framework的基礎,可以將其看作乙個在執行時管理**的**,它提供了記憶體管理、執行緒管理和遠端處理等核心服務,並且還強制實施嚴格的型別安全以及可提高安全性和可靠性的其他形式的**準確性。

公共語言執行庫用於管理記憶體、執行緒執行、**執行、**安全驗證、編譯以及其他系統服務,這些功能是在公共語言執行庫上執行的託管**所固有的。至 於安全性,則取決於包括託管元件的**(如internet、企業網路或本地計算機)在內的一些因素,由於託管元件被賦予不同程度的信任,這意味著即使用 在同一活動應用程式中,託管元件可能執行檔案訪問操作、登錄檔訪問操作或其他須小心使用的功能,也可能不能夠執行這些功能。

公共語言執行庫還通過實現稱為通用型別系統(cts)的嚴格型別驗證和**驗證基礎結構來加強**可靠性。cts確保所有託管**都可以自我描述。 微軟和第三方語言編譯器生成符合cts的託管**,這意味著託管**可在嚴格實施型別保護和型別安全的同時使用其他託管型別和例項。

專家點評

cts(common type system)是通用型別系統,主要用於解決不同語言的資料型別不同的問題,它是一種型別標準,在這個標準中不但實現了com的變數相容型別,還定義了通 過使用者自定義型別的方式來進行型別擴充套件,所有以.net平台為目標的語言通過建立本身資料型別與cts之間的對映來實現與其他語言的資料型別的互動。

cls(common language specification)是公共語言規範,主要用於實現多種語言之間的互操作性,是公共語言執行庫的子集。

clr(common language runtime)是公共語言執行庫,是所有.net應用程式執行時的環境,所有應用程式都要使用的程式設計基礎,它如同乙個支援.net應用程式執行和開發的虛擬機器。

CTS CLS和CLR分別作何解釋?

cts cls和clr分別作何解釋?問題闡述 cts cls和clr分別是什麼意思?專家解答 cts cls和clr是.net框架的3個核心部分,下面分別對它們進行介紹。1 cts cts即通用型別系統,它定義了如何在.net framework執行庫中宣告 使用和管理型別,同時也是.net fra...

CTS CLS CLR分別作何解釋?

cts cls clr分別作何解釋?a.cts 通用型別系統 commontype system 一種確定公共語言執行庫如何定義 使用和管理型別的規範。即int32 int16 int string string boolean bool b.cls cls 公共語言規範 commonlanguag...

CTS CLS CLR分別作何解釋

a.cts 通用型別系統 commontype system 一種確定公共語言執行庫如何定義 使用和管理型別的規範。即int32 int16 int string string boolean bool b.cls cls 公共語言規範 commonlanguage specification 一種...