標籤:style blog http io os 使用 java sp 檔案
.NET是什嗎?
•.NET是一個平台,而不是一種語言。 •.NET是Microsoft的用以建立XML Web服務(下一代軟體)平台,該平台將資訊、裝置和人以一種統一的、個人化的方式聯絡起來。
公用語言運行庫(CLR)
•公用語言運行庫,即Common Language Runtime,簡稱CLR。 •CLR是.NET Framework的核心,通常在CLR控制下啟動並執行代碼稱為Managed 程式碼(managed code) •在CLR執行編寫好的原始碼之前,需要編譯它們。在.NET中編譯分為兩個階段: 1、把原始碼編譯為Microsoft中繼語言(IL); 2、CLR把IL編譯為平台專用的代碼。
.NET中的編譯過程(CLR)
中繼語言(IL)
•Microsoft中繼語言和java位元組碼一樣都是低級語言,文法簡單,能快速轉換為本地機器碼。這種設計的通用文法有很重要的優點:平台無關性、提高效能和語言的互通性。 •中繼語言的主要特徵: 1、物件導向和使用介面 2、實值型別和參考型別之間的顯著差異 3、強資料類型化 4、異常處理 5、使用特性
一般型別系統(CTS)
•CTS定義了可以在IL中使用的預定義資料類型,所有面向.NET Framework的語言都可以產生基於這些類型的編譯代碼。 •例子:假定VB定義的一個類中包含一個傳回值為Integer類型的方法,C#定義的一個類包含這個類的一個執行個體,要它的調用傳回值為Integer類型的方法,而C#中沒有名稱為Integer的資料類型,這個問題在.NET中是怎麼處理的呢? •對於這個問題,VB中的Integer實際上是一個32位有符號的整數,它實際映射為中繼語言類型int32,因此在IL代碼中就指定這種資料類型,C#編譯器就可以使用這種類型,所以就不會有問題了。 •CTS不僅指定了基礎資料型別 (Elementary Data Type),還定義了一個類型階層,其中包含設計合理的位置,在這些位置上,代碼允許定義自己的類型。
Common Language Specification(CLS)
•Common Language Specification(Common Language Specification, CLS)和一般型別系統一起確保語言的互通性。 •CLS是一個最低標準集,所有面向.NET的編譯器都必須支援它。 •例子:IL是區分大小寫語言,但VB是不區分大小寫語言。CLS通過指定CLS相容代碼不適用任何只根據大小寫區分的名稱,解決了不區分大小寫問題。因此,VB代碼可以與CLS相容代碼一起使用。 •CLS的兩種工作方式: 1、各個編譯器的功能不必強大到支援.NET的所用功能; 2、如果限制類只能使用CLS相容的特性,就要保證用其他相容語言編寫的代碼可以使用這個類。
程式集(Assembly)
•程式集(assembly)是包含編譯好的、面向.NET Framework的代碼的邏輯單元。 •程式集是完全自描述的,它是一個邏輯單元而不是物理單元,可以儲存在多個檔案中。如果一個程式集儲存在多個檔案中,其中就會有一個包含進入點的主檔案,該檔案描述了程式集中的其他檔案。 •程式集的結構: 1、組件中繼資料 2、類型中繼資料 3、MSIL代碼 4、資源
.net組件技術