1.首先,先说下"CLI"和"IL"这两个概念。
a.CLI(全称:Common Language Infrastructure),C#程序在Microsoft .NET Framework上运行时,CLI作为操作系统一个必须组件包括一个
CLR(全称:Common Language Runtime)的虚拟执行系统和一组统一的类库。
b.IL(全称:Intermediate Language)即中间语言又称为MSIL。所有Microsoft .NET源代码(使用任何语言)被编译为IL。
2.过程:
a.C#源文件被编译成符合CLI规范的中间语言IL。IL代码和资源(比如:位图)一起作为程序集存储在磁盘上,扩展名为".exe"或".dll";
(总结:程序集=IL代码+资源)
b.执行C#程序,程序集将加载到CLR中。CLR执行即时编译JIT(全称:Just-in-time compilation)用来将IL代码转换成本机机器语言。
(JIT的基本思想:只在需要的时候,按照需要的量生产所需的产品)
3.给出两个概念:
由CLR执行的代码称为"托管代码";(这里指:IL代码)
编译为面向特定系统的本机机器语言称为:“非托管代码”。(这里与"托管代码"对应)
C#程序的编译和执行
最新推荐文章于 2023-06-20 03:47:12 发布