首页 > 开发 > 综合 > 正文

Microsoft 中间语言(MSIL)

2024-07-21 02:17:20
字体:
来源:转载
供稿:网友

如果你把你的源代码编译成受控代码,编译器将把你的源代码
转换为microsoft中间语言(msil),这种代码将是不依赖于cpu的
,而且能够高效的转换为本地代码。msil拥有众多的指令,像
loading、storing、initializing以及基于对象的方法调用还有算
术逻辑运算、流控、直接内存存储和异常处理等。在代码执行之前
,必须通过jit编译器将msil转换为基于特定cpu的代码。由于运行
时为它所支持的每一种计算机体系结构都提供了一到多个jit编译
器,同样的msil指令集合能够被jit编译并且在所有支持的体系结
构上面执行。
    当编译器产生msil的同时,也产生元数据,元数据描述了代码
中的类型,包括每一种类型的定义、每一种类型成员的签名、代码
引用的成员以及在执行时运行时用到的其它数据。代码和元数据都
包括在一个pe文件中,这个pe文件基于并且扩展了已发布的
microsoft pe以及曾经用于执行信息的通用对象文件格式
(common object file format)(coff)。pe这种文件格式,将有
利于帮助操作系统识别clr镜像。在文件中和msil一起存在的元数据
将使得你的代码是自描述的,也就是说不再需要类型库或者idl。在
执行过程中,运行是根据需要从文件中定位和提取元数据。
上一篇:JIT编译

下一篇:Win2000 Server安全入门

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表