简要说一下.Net的编译过程.

看面试题的时候遇到这样一道题目,简要说明.NET的编译过程,在网上看了很多资料,简单总结如下:

1、一般的编译过程

通常高级语言的程序编译过程是:首先写好的程序是源代码,然后编译器编译为本地机器语言,最后在本地操作系统运行。

 2、.NET程序的编译与之类似:首先编写好的源代码,然后编译为微软中间语言代码,运行的时候即时编译为本地机器语言,同时.NET代码运行时有一个CLR(运行时)环境来管理程序;

 总结:

一般的高级程序语言会直接将代码编译成机器语言(二进制语言),之后由本地机执行这些机器语言从而实现编译过程 

.NET的编译机制会在中间多一个环节,就是先将高级语言(如C#、VB)编译成中间语言(IL)然后再将中间语言(IL)通过CLR(公共语言运行)转换为机器语言,之后由本地机执行这些机器语言从而实现编译过程

最终的二进制代码(机器语言)被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样的话,如果一个.Net程序第二次被运行,那么就不需要进行第二次编译,速度明显加快。

原文地址:https://www.cnblogs.com/damugua/p/12718423.html