这里对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#程序的编译运行原理,如图所示: