- 浏览: 247663 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
Microsoft Intermediate Language (MSIL)微软中间语言
MSIL是将.NET代码转化为机器语言的一个中间过程。它是一种介于高级语言和基于Intel的汇编语言的伪汇编语言。当用户编译一个.NET程序时,编译器将源代码翻译成一组可以有效地转换为本机代码且独立于CPU的指令。当执行这些指令时,实时(JIT)编译器将它们转化为CPU特定的代码。由于公共语言运行库支持多种实时编译器,因此同一段msil代码可以被不同的编译器实时编译并运行在不同的结构上。从理论上来说,MSIL将消除多年以来业界中不同语言之间的纷争。在.NET的世界中可能出现下面的情况一部分代码可以用EFFIL实现,另一部分代码使用C#或VB.NET完成的,但是最后这些代码都将被转换为中间语言。
编译为托管代码时,编译器将源代码翻译为 Microsoft 中间语言 (MSIL),这是一组可以有效地转换为本机代码且独立于 CPU 的指令。MSIL 包括用于加载、存储和初始化对象以及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。要使代码可运行,必须先将 MSIL 转换为特定于 CPU 的代码,这通常是通过实时 (JIT) 编译器来完成的。由于公共语言运行库为它支持的每种计算机结构都提供了一种或多种 JIT 编译器,因此同一组 MSIL 可以在所支持的任何结构上 JIT 编译和运行。
当编译器产生 MSIL 时,它也产生元数据。元数据描述代码中的类型,包括每种类型的定义、每种类型的成员的签名、代码引用的成员和运行库在执行时使用的其他数据。MSIL 和元数据包含在一个可移植可执行 (PE) 文件中,此文件基于并扩展过去用于可执行内容的已公布的 Microsoft PE 和公共对象文件格式 (COFF)。这种文件格式包含 MSIL 或本机代码以及元数据,使得操作系统能够识别公共语言运行库映像。文件中的元数据以及 MSIL 的存在使代码能够描述自身,这意味着不再需要类型库或接口定义语言 (IDL)。运行库在执行过程中根据需要从该文件中查找并提取元数据。
发表评论
-
C#拾遗系列(1):委托
2008-06-11 14:43 558一、委托概述 委托具有以下特点: 委托类似于 ... -
C#拾遗系列(2):属性
2008-06-11 14:54 6831. 这里主要演示属性的继承和覆盖 2. 把属性理解为方法 ... -
C#拾遗系列(3):构造函数
2008-06-11 15:19 5841. 主要演示构造函数的继承 声明空 ... -
C#拾遗系列(4):索引器
2008-06-11 15:30 7351. 概述 索引器允许类或结构的实例就像数组一样进行索引。索引 ... -
C#拾遗系列(5):泛型委托
2008-06-14 17:25 565using System; using System.Col ... -
C#拾遗系列(6):迭代器
2008-06-14 23:03 4991. 示例: using System; using Sys ... -
C#拾遗系列(7):自定义属性
2008-06-18 14:52 6241 .描述 属性提供功能强大的方法以将声明信息与 C# 代码( ... -
C#拾遗系列(8):异常
2008-06-19 11:02 573using System; using System.Col ... -
C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型
2008-06-19 15:07 1114本文内容: 继承 Equal示例 结构和类 ... -
MSIL(1): Hello World
2009-03-09 22:14 7381. 用记事本编写如下代码 .assembly HelloWo ... -
代码段:ASCII to Unicode
2009-04-17 10:44 7491: private string Co ... -
Get countries from system
2009-05-08 16:02 7641: using System; 2: usi ... -
[Tips]:Read value from Resource file in C#
2009-05-18 16:18 9951: //Namespace refer ... -
[tips]: 多线程 ManualResetEvent
2009-05-21 14:23 1309WaitHandle用于实现对共享资源的独占访问,AutoRe ... -
C#拾遗系列(1):委托
2008-06-11 14:43 630一、委托概述 委托具有以下特点: 委托 ... -
C#拾遗系列(2):属性
2008-06-11 14:54 5611. 这里主要演示属性的继承和覆盖 2. 把属性理解为方法 ... -
C#拾遗系列(3):构造函数
2008-06-11 15:19 6081. 主要演示构造函数的继承 ... -
C#拾遗系列(4):索引器
2008-06-11 15:30 5621. 概述 索引器允许类或结构的实例就像数组一样进行索引。索引 ... -
C#拾遗系列(5):泛型委托
2008-06-14 17:25 650using System; using System.Col ... -
C#拾遗系列(6):迭代器
2008-06-14 23:03 6801. 示例: using System; using Sys ...
相关推荐
NET探秘:MSIL权威指南 PDF 版本,可以好好学习。清晰的哦。
NET探秘:MSIL权威指南完整版pdf电子书籍!有需要可以下载看看,觉得好的话,可以购买该书!
NET探秘:MSIL权威指南
msil指令集 msil指令集 msil指令集 msil指令集
MSIL全部指令 MSIL 指令大全 中间语言对应表
NET探秘:MSIL权威指是C#学习者进阶的必读书籍。如果完全读懂此书,那基本上算是.net高手了。
《.NET探秘MSIL权威指南》是IL汇编语言的权威之作,深入地讲解了IL的全部内容,是.NET底层开发人员必备的参考书,对于从概念设计到实现和维护等软件开发所有阶段都很有价值。《.NET探秘MSIL权威指南》内容基于.NET ...
非常有用的技术,希望对了解MSIL的人有用!
MSIL简体中文版
学习MSIL(微软中间语言)的一系列教程_-_MSIL入门示例教程
msil 指令集 整理了msil 语言指令的使用方式,及相关说明
MSIL Instruction Set Specification
《NET探秘MSIL权威指南》是IL汇编语言的权威之作,深入地讲解了IL的全部内容,是NET底层开发人员必备的参考书,对于从概念设计到实现和维护等软件开发所有阶段都很有价值。《NET探秘MSIL权威指南》内容基于NET 2.0...
提供msil指令集以供参考,是了解msil的优秀资料。
微软.net 的MSIL.Net运行时中间语言规范 微软.net 的MSIL.Net运行时中间语言规范
这篇教程是我在网上看了文章之后整理的,个人觉得对初学者再适合不过了,在网上找了半天才找到这么容易看懂的,因为我就是初学者好不容易才找的,给大家分享一下
msil速查手册 微软软件系列文档 msil速查手册 微软软件系列文档
作为.NET最低层次的公共基础,微软中介语言(MSIL或IL)对一般开发者具有非常重要的意义。除了好奇心以外,仔细研究应用程序的IL能让你更为清楚地了解到公共语言运行时(CLR)执行高级C#或VB.NET代码的基本原理,...