1 .NET Framework的核心是其运行库执行环境,即公共语言运行库(CLR)或.NET运行库,一般将CLR控制下运行的代码称为托管代码(managed code)。

在CLR在执行编写好的代码之前,需要将代码进行.NET编译,编译分为两个阶段

(1)把源代码编译为Microsoft中间语言(IL:中间语言是一种低级语言,语法简单,可快速转换为本地机器码,IL是即时编译的,称为JIT编译,编译为中间语言可以获得.NET的语言优点:1.平台无关性,2.提高性能,3.互操作性)。

(2)CLR把IL编译为平台专业代码。

.NET的语言优点:

1.平台无关性:包含字节码指令的同一文件可以放到任一平台中,编译为中间语言后就可以获得.NET的平台无关性。

2.提高性能:代码编译完一次后,得到的本地可执行程序就存储起来,直到退出该程序为止,当下次运行这部分代码时就不用编译,从而提高性能

3.互操作性:编译为中间语言的代码可以与从其他语言编译过来的代码进行交互操作。

随机推荐

  1. javafx for android or ios ?

    javafx是否支持android 或者 ios这是一个令人感兴趣的话题.google一番,发现有可行方案: 1. javafx on android: 两种方案:(事实上差点儿相同) 1.有位大神已 ...

  2. Windows下记事本编辑的Shell脚本放到Linux下执行出错,格式问题(/bin/bash^M: bad interpreter: 没有那个文件或目录)

    错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就 ...

  3. CMake 命令行设定编译环境

    笔者电脑安装了两个版本的VS(VS2012  和 VS2010),在使用CMake编译的时候,如果只在对应目录的命令行输入 "cmake .." 则系统会自动选择使用新版本(VS2 ...

  4. js操作json添加元素和数据的方法

    function addServerUrlToJson() { var json_tem = [{"name":"a","value":1} ...

  5. BAPI_ACC_DOCUMENT_POST Enter rate / GBP rate type M for Error SG105

    Folks, I was wondering if I could get a bit of help here as I've been racking my brains on it for ag ...

  6. android的界面编程

    主要是用View以及ViewGroup,同时ViewGroup又是View的子类,充当容器. 主要有两种方法控制view的行为: 1.在XML布局文件中通过XML属性进行控制 2.在Java代码中通过 ...

  7. (收藏)sokcet编程

    C# Socket网络编程精华篇 C#编写高性能网络服务器(源码) .net自动更新组件Ant 客户端服务器通信demo(附源码) 有了WCF,Socket是否已人老珠黄? Socket服务器整体架构 ...

  8. Qt中使用QProcess备份和恢复Mysql数据库

    分类: Qt2011-02-18 21:35 1395人阅读 评论(3) 收藏 举报 qtmysql数据库windowspathcmd . 使用Qt做MySQL数据库开发,遇到需要备份.还原数据库的问 ...

  9. Spring JTA multiple resource transactions in Tomcat with Atomikos example--转载

    原文地址:http://www.javacodegeeks.com/2013/07/spring-jta-multiple-resource-transactions-in-tomcat-with-a ...

  10. Using zend-paginator in your Album Module

    Using zend-paginator in your Album Module TODO Update to: follow the changes in the user-guide use S ...