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. hdu2594 Simpsons’ Hidden Talents kmp

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...

  2. SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

    刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样 ...

  3. G711

    G.711就是语音模拟信号的一种非线性量化.细分有二种:G.711 a-lawand G.711 u-law.不同的国家和地方都会选取一种作为自己的标准. G.711a/u bitrate 是64kb ...

  4. Struts2 中的数据传输

    1.     如何将参数从界面传递到Action? 你可以把Struts2中的Action看做是Struts1的Action+ActionForm,即只需在Action中定义相关的属性(要有gette ...

  5. 第十一章 Function类型

    在ECMAScript中,Function(函数)类型实际上是对象.每个函数也是Function类型的实例,而且都与其它引用类型一样具有属性和方法.由于是函数对象,因此函数名实际上也是一个指向函数对象 ...

  6. linux中shell编程

    shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...

  7. jsp The requested resource (/demo10/loginBean) is not available.

    The requested resource (/demo10/loginBean) is not available. <?xml version="1.0" encodi ...

  8. (inline)内联函数在IOS开发中的使用

    今天在阅读YYKit源码(https://github.com/ibireme/YYKit.git)时发现在YYKitMacro.h组件中大量使用的内联函数,例如此文件中的一个函数 static in ...

  9. JAVA_Gson_example

    package cn.kjxy.GSON; import java.util.List; import cn.kjxy.JSON.HttpHelpers; import com.google.gson ...

  10. mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual t

    1.备份mysql数据库时候出错,导出数据: [root@localhost ~]# mysqldump -uroot -p mysql >/root/bck.sql Enter passwor ...