我有一个关于.NET Framework的问题:MSIL源代码的编译器在哪里?它是在CLR本身还是在任何其他层?另外,请给我一个非常小(但足够)的.NET Framework插图.
[
这是一个快速的流程图(未遵循的符号),将澄清其中的大部分内容.
C#或VB编译器只是将代码(托管)转换为CLR可理解的IL 的工具.使用Visual Studio编译时,这些工具可以正常工作.
JIT(JIT编译)是CLR的一个特性,它在运行时将IL代码转换为最终执行的机器代码.这就是为什么有时候,在高层次上,我们说CLR会进行IL到机器的代码转换.