C#與.net平臺(一)
1 .net
.net
- 本質上是一個執行庫執行引擎(mscoree.dll)和基礎類庫(mscorlib.dll等)。
- CLR可以承載任何符合託管程式碼規則的.net二進位制檔案(即程式集).
- 程式集中有很多CIL指令(以及型別元資料和程式集清單)
CIL common intermediate language 公共中間語言
託管程式碼 只能在.net執行庫中執行的C#程式碼
assembly 程式集. 託管程式碼編譯後的二進位制單元
metadata 元資料. 詳盡的描述了二進位制檔案中每個型別的特徵
manifest 清單. 描述程式集的元資料
JIT just-in-time 即時編譯CLR common language runtime 公共語言執行庫
執行庫環境:定位,載入和管理.net型別.同時負責低層細節工作:記憶體管理,應用託管,處理執行緒,安全檢查CTS common type system 公共型別系統
描述CLR所支援的資料型別和程式設計結構,指定這些實體如何互動.
規定了型別如何定義才能被CLR承載
.net級別的型別- 類 5, - 介面(對一些方法的抽象,一個類可以實現多個介面,只能實現一個抽象類) 8, - 結構(一種基於值的語義的輕量級的類 型別) 4, - 列舉 4,有語言意義的鍵代表數字值 - 委託 型別安全的函式指標
CLS common language specification 公共語言規範
描述了支援.net編譯器必須支援的最小和完全的特徵集.
是.net語言(c#,vb,f#..)都支援的公共型別和程式設計結構的子集CLI common language infrastructure 公共語言基礎設施
實現.net程式集跨作業系統
BCL base class library 基礎類庫
COM component object model 元件物件模型 語言無關性:VB開發者可以用C++構建的COM庫
2 構建C#程式
SDK .net framework 4.5 software development kit .net開發工具集
SDK包括託管的編譯器,命令列工具,示例程式碼,.net類庫及文件系統.
然後可以用c#編譯器(cxc.exe)甚至notepad開發,但有visual studio..