.NET程序是如何编译的
来源:互联网 发布:互联网大数据公司 编辑:程序博客网 时间:2024/05/29 14:32
.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是殊途同归。
- .NET程序是如何编译的
- c++程序是如何编译的---菜鸟看
- .NET是在2002年发布,2000、2001年的C#是如何编译运行的?
- 如何判断程序是由C编译程序编译的,还是由C++编译程序编译的.
- 如何判断一个程序是C编译的还是C++编译的
- android是如何编译的
- 如何利用SDK来编译.Net程序?
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 如何判断一段程序是由C编译程序还是由C++编译程序编译的
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的
- 如何从程序中判断待编译的文件是.c还是.cpp?
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 如何判断一段程序是由C 编译程序还是由C++编译程序编译的?
- 背包问题问法变化之---输出方案
- 麻省理工学院(MIT)研究生学习指导—— 怎样做研究生(上)
- JAVA读取不同编码的txt文件,java获取txt文件编码格式
- androidUI设计之旅 ----TextView01
- Command-Line Arguments
- .NET程序是如何编译的
- 机器学习之开源库大总结
- js改变img标签的src属性在IE下出问题的解决方法
- js和jsp得到网页传值的方法
- C语言简易计算器(中缀表达式转后缀表达式,通过堆栈实现)
- 批量文件操作-批处理删除文件夹
- 嵌入式Linux学习(一)
- C# EventHandler and Delegate(委托的使用)
- HDU 2066