频道栏目
读书频道 > web开发 > .NET > .NET安全揭秘
1.3 中间语言
2012-10-24 13:59:28     我来说两句
收藏   我要投稿

本文所属图书 > .NET安全揭秘

全书共分为五个部分。第一部分:.NET安全基础,透彻讲解了.NET体系结构、程序集与反射、应用程序域和CLR寄宿等核心技术,这部分内容是.NET架构的核心,同时也是理解.NET底层安全机制的基础;第二部分:.NET平台安...  立即去当当网订购

在.NET框架中,公共语言基础结构使用CLS来绑定不同的语言。通过要求不同的语言至少要实现CTS包含在CLS中的部分,公共语言基础结构允许不同的语言使用.NET框架。因此,在.NET框架中,所有的语言(C#、VB.NET、Effil.NET等)最后都被转换为了一种通用语言—微软中间语言(Microsoft Intermediate Language,MSIL),以下简称IL。

IL是一种介于高级语言和基于Intel的汇编语言的中间语言,是.NET平台的汇编语言。当用户编译一个.NET程序时,编译器将源代码翻译成一组可以有效地转换为本机代码且独立于CPU的指令。当执行这些指令时,实时编译器将它们转化为CPU特定的代码。由于CLR支持多种实时编译器,因此同一段IL代码可以被不同的编译器实时编译并运行在不同的结构上。

IL包括用于加载、存储和初始化对象及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。要使代码可运行,必须先将 IL 转换为特定于 CPU 的代码,这通常是通过实时(JIT) 编译器来完成的。由于CLR为它支持的每种计算机结构都提供了一种或多种JIT编译器,因此同一组IL可以在所支持的任何结构上JIT编译和运行。

当编译器产生IL时,它也产生元数据。元数据描述代码中的类型,包括每种类型的定义、每种类型的成员的签名、代码引用的成员和运行库在执行时使用的其他数据。IL和元数据包含在一个可移植可执行(PE)文件中,下面重点介绍托管PE文件,以及元数据的相关知识。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.2.2 公共语言规范
下一篇:1.3.1 托管PE文件
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站