这里对C#程序的编译运行原理进行简单的总结,如有错误,欢迎指正。
通过VS编写的程序,F5就能执行,其中的过程又是怎样的呢,让我们先了解几个概念:
1 CSC.exe .Net Framework下的编译器
作用:将C#等源程序编译为程序集,程序集包括EXE文件或DLL文件
编译过程包括语法检查和源程序分析
2 MSIL CIL IL (Intermediate Language) 三者的概念是相同的,即微软中间语言,它介于高级语言和汇编语言之间
3 JIT (Just in Time) 即时编译器
作用:将MSIL编译为本机指令,实际是优化以匹配操作系统和CPU
4 CLR (Common Language Runtime) 公共语言运行时,是.Net 框架的核心之一,本质是一段驻留在内存中的代理代码,
为.Net 应用程序提供托管的代码执行环境
作用:管理应用程序,包括内存管理、安全管理及允许跨语言调试等
5 托管代码:基于.Net 框架的在CLR管理下执行的代码,托管代码主要在内存管理方面具有自动性
了解了以上的概念,你的心中是否呈现了C#程序的编译运行原理,如图所示: