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


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

 

1、一般的编译过程

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

 

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

 

 总结:

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM