目录:
定义-中间语言(IL)是什么意思?
中间语言(IL)是一种面向对象的编程语言,旨在供.NET Framework的编译器在将其静态或动态编译为机器代码之前使用。 .NET Framework使用IL生成与机器无关的代码,作为以任何.NET编程语言编写的源代码的编译输出。
IL是基于堆栈的汇编语言,在虚拟机执行期间会转换为字节码。 它由公共语言基础结构(CLI)规范定义。 由于IL用于自动生成已编译的代码,因此无需学习其语法。
此术语也称为Microsoft中间语言(MSIL)或通用中间语言(CIL)。
Techopedia解释了中间语言(IL)
借助合适的即时(JIT)编译器,可以在JIT编译器支持的任何计算机体系结构上执行IL代码。 与解释器不同,JIT编译可提供更好的性能,保留内存并节省应用程序初始化期间的时间。 通过允许在支持CLI规范的任何环境中执行已编译的源代码,IL启用.NET框架的平台和CPU独立性功能。
对于IL代码,代码安全性验证比本地编译的可执行文件提供更好的安全性和可靠性。 元数据描述了可移植可执行文件中的MSIL代码,因此不需要像组件对象模型(COM)技术中使用的类型库和中间定义语言文件。 IL与元数据和通用类型系统相结合,形成了将以不同语言编写的模块集成到单个应用程序中的方法,从而实现了语言独立性。
尽管IL在编译器使用方面类似于Java字节码,但与后者的不同之处在于,IL是为平台独立性和语言独立性而设计的。 它的不同之处还在于它是编译的而不是解释的。
IL包含两种类型的指令集: 基本指令,类似于本机CPU指令,以及高级语言使用的对象模型指令。 IL包含在对象上加载,存储,初始化和调用方法所需的所有指令。 它还包括算术和逻辑运算,控制流,直接内存访问,异常处理和其他运算。 与传统Microsoft便携式可执行文件中用于可执行内容的通用目标文件格式不同,在托管代码编译之后生成的便携式可执行文件同时包含IL指令和元数据。
与IL代码关联的两个工具是MSIL汇编程序(Ilasm.exe)和MSIL反汇编(Ildasm.exe)。 前者从IL代码生成可移植的可执行文件,并允许以人类可读的格式查看IL代码,而后者则将可移植的可执行文件转换回文本文件,以进行查看和修改。 两者都将作为Visual Studio的一部分自动安装。




