這裏對C#程序的編譯運行原理進行簡單的總結,若有錯誤,歡迎指正。安全
經過VS編寫的程序,F5就能執行,其中的過程又是怎樣的呢,讓咱們先了解幾個概念:框架
1 CSC.exe .Net Framework下的編譯器優化
做用:將C#等源程序編譯爲程序集,程序集包括EXE文件或DLL文件spa
編譯過程包括語法檢查和源程序分析操作系統
2 MSIL CIL IL (Intermediate Language) 三者的概念是相同的,即微軟中間語言,它介於高級語言和彙編語言之間代理
3 JIT (Just in Time) 即時編譯器調試
做用:將MSIL編譯爲本機指令,實際是優化以匹配操做系統和CPUblog
4 CLR (Common Language Runtime) 公共語言運行時,是.Net 框架的核心之一,本質是一段駐留在內存中的代理代碼,內存
爲.Net 應用程序提供託管的代碼執行環境編譯器
做用:管理應用程序,包括內存管理、安全管理及容許跨語言調試等
5 託管代碼:基於.Net 框架的在CLR管理下執行的代碼,託管代碼主要在內存管理方面具備自動性
瞭解了以上的概念,你的心中是否呈現了C#程序的編譯運行原理,如圖所示: