.Net基础——程序集与CIL

程序集是由.NET语言的编译器接受源代码文件产生的输出文件,通常分为 exe和dll两类,其中exe包含Main入口方法可以双击执行,dll则需要被其他程序集调用执行。

CIL(Common Intermediate Language): 公共中间语言①,需要被编译成二进制机器码之后才会被计算机执行。

2. 程序集包含:

程序的CIL

程序中使用的类型的元数据(metadata)

程序集清单

一些资源集

程序被编译成程序集(exe为例)之后,双击运行,程序集会被加载入CLR,CLR执行下面的步骤:
  1.检查程序集的安全特性。
  2.进行内存分配。
  3.把程序集中的可执行代码发送给JIT(Just-in-Time)编译器,把其中的一部分代码编译成为本机代码。
其中,JIT只会编译被调用的部分CIL代码,并把编译的结果缓存起来,以备在后面的程序中的多次调用。这保证了编译与运行的效率。

经过JIT编译之后的代码即是本机代码,本机代码最终被CPU执行。


我们通过一段简单的代码来加深理解:

 1. 打开VS,用C#编写一段如下程序:

using System; namespace ILTest { public class Program { public static void Main(string[] args) { Console.WriteLine("Hello Fred"); Console.Read(); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywyxf.html