当前位置: 移动技术网 > IT编程>开发语言>c# > .net平台下对C#代码的编译

.net平台下对C#代码的编译

2019年08月09日  | 移动技术网IT编程  | 我要评论

最近赶项目忽然想到一个问题,那就是在 .net平台下的c#代码是怎么从源代码到机器可以识别的电脑的(只怪自己上学不好好读书,现在又要重补一遍了!!!)

话不多说直接上调研结果:

  预习知识:

      1: il 是微软.net平台上衍生出的一门中间语言,.net平台上的各种高级语言(如c#,vb,f#)的编译器会将各自的代码转化为il。

      2: clr是一个可以由多编程语言使用的运行时,clr的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等。可以被很多属于微软系列的开发语言使用。

   结果:

      .net framework的核心是其运行库执行环境,成为公共语言运行库(clr)或.net运行库。通常将在clr控制下运行的代码称为托管代码(managed code)。clr执行编写好的源代码之前需要编译他们。.net中编译分为两个阶段:

           (1)把源代码编译为microsoft中间语言(il).
           (2)clr把il编译为平台专用的代码。

      第一次编译很慢(通过各自的编译器)(由源代码---->>中间代码il),第二次编译很快(通过clr)(由中间代码---->>机器代码)

 

 

     

     版权声明:本文为博主原创文章,如需转载,请标明出处。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网