分享

NET程序是如何编译的

 昵称10504424 2013-07-24
NET程序是如何编译的?

      如果在系统中运行.NET程序,必须先安装相应版本的.NET框架。.NET程序不是已经编译过了么?为什么还要依赖.NET框架呢?这和.NET程序的运行机制有关,传统上,程序分为源代码层和编译后的本机代码层(机器码)。而.NET提供了对多种编程语言以及多重平台的支持,所以在其中添加了中间代码层,中间代码被称为IL或MSIL。由于多了中间代码,使.NET程序有了更好的灵活性,有运行多个平台的可能(如Linux系统)。

       .NET框架的核心是CLR,即公共语言运行时,CLR是.NET程序的运行库环境。中间语言需要在CLR中运行,并转换成机器码,所以.NET程序必须依赖.NET框架才能运行。以C#语言为例,C#编译器编译的程序只有中间语言构成,无法直接运行,必须由CLR执行。

补充:

       .NET的这种编译运行机制和Jave、ActionScript较相似,Java第一次编译为字节码,而Java良好的移植性得益于此。只要客户机安装了Java虚拟机(JVM),就可以直接运行Java程序(JVM将字节码编译成机器码)。类似的,ActionScript同样第一次被编译成字节码,并存放在swf文件中。只要客户机安装了FlashPlayer,swf即可运行,因为FlashPlayer含有AS虚拟机(AVM)。可见,.NET的CLR和JVM、AVM是殊途同归。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多