C#编译过程

发布时间 2023-03-23 11:58:31作者: mc宇少

1.c#将代码第一次编译成MSIL和元数据,这两个数据同事存在.exe或.dll文件中,这种伪代码是独立于任何CPU的,所以只要有.NetFrameWork的机器就可以运行,增强了c#的可移植性。

2.程序执行时,IL被CLR捕获,CLR激活内部的JIT编译器,将伪代码编译成针对特定CPU的机器语言。

JIT:即时编译,在代码需要运行的时候才将对应的IL编译为本机指令,然后把结果保存到(GAC)用于将来对同一方法的调用(程序运行起来后,同一段代码只需要编译一次)。

GAC:全局程序集缓存,.NET应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就直接使用,不用再编译。

编译过程: