1. 程式人生 > >1.C#.Net編譯原理

1.C#.Net編譯原理

標識 執行c 內容 exe 機器 inter 系統 運算 執行

1. C#中的幾種後綴名含義:

  .Sln //解決方案文件→.csproj //項目文件→.cs //類文件。他們是層層包含的關系。

2. 命名空間:

  命名空間是.NET中提供 應用程序代碼容器的方式,他是一個容器。這樣就可以唯一地標識代碼及其內容;

  在C#中,創建命名空間的關鍵字是 namespace,在VS中創建控制臺應用程序時會自動加入命名空間。命名是以“層”的形式存在,如有多層則以“.”分開。

3. 編寫應用程序:

  .NET Framework 編寫應用程序,即使用.NET代碼庫編寫代碼;

  為了執行C#代碼,必須把他們轉換為目標操作系統能夠理解的語言,即本機代碼(native code),這種轉換稱為 編譯代碼

,由編譯器執行。

4. 編譯代碼:

  即將高級語言轉換為本機代碼:IDE含編譯器→把編譯代碼轉換為通用的中間語言CIL即 Common Intermediate Language)→再由IDE轉換為本機代碼;

  如:C#應用程序代碼(編寫代碼)→把代碼編譯為CIL(托管代碼),存儲在程序集中→本機代碼(JIT編譯器)→在托管的CLR環境下運行本機代碼及其他應用程序或進程→EXE文件/DLL庫。

5. JIT編譯器(Just-In-Time Compiler):

  能將CIL編譯成各種不同的機器代碼,以適應對應的系統平臺

6. 托管代碼:(microsoft的中間語言

  托管代碼是microsoft的中間語言

,主要作用是在 .NET Framework 的 CLR 執行代碼前去編譯源代碼。

7. CLR:(公共語言運行庫)

  管理應用程序、方式是管理內存,處理安全性等。

8. 源代碼運行時分為兩個階段:

  (1)源代碼(如:VB,C#)編譯為托管代碼;

  (2)托管代碼編譯為microsoft系統的.net平臺專用文件(如:類庫,可執行文件等)。

9. 程序集:(即程序文件(exe)和庫(dll))

  程序由指令組成,指令則是由標識符、關鍵字、常量、運算符、分隔符等構成。

1.C#.Net編譯原理