网站地图
hnsjyk999.com
三九百科 包罗万象
通用中间语言 发布于:

通用中间语言(Common Intermediate Language,简称CIL)(曾经被称为微软中间语言或MSIL)是一种属于通用语言架构和.NET框架的低阶(lowest-level)的人类可读的编程语言。目标为.NET 框架的语言被编译成CIL,然后汇编成字节码。CIL类似一个面向对象的汇编语言,并且它是完全基于堆栈的。它运行在虚拟机上,其主要的语言有C#、Visual Basic .NET、C++/CLI以及 J#。

在.NET语言的测试版中,CIL原本叫做微软中间语言(MSIL)。由于C#和通用语言架构的标准化,字节码已经官方地成为了CIL。因此,CIL仍旧经常与MSIL相提并论,特别是那些.NET语言的老用户。

在编译.NET编程语言时,源代码被翻译成CIL码,而不是基于特定平台或处理器的目标代码。CIL是一种独立于具体CPU和平台的指令集,它可以在任何支持.NET framework的环境下运行。CIL码在运行时被检查并提供比二进制代码更好的安全性和可靠性。

即时编译(JIT)是指字节码在CPU执行时被立即转换成机器码。转换是在程序执行的过程中逐渐进行的。即时编译技术提供了特定环境下的优化、运行时类型安全以及汇编验证。为此,即时编译器检查程序集元数据中是否有非法访问和句柄的冲突。

编译本机映像生成器 (Ngen.exe) 是一个提高托管应用程序性能的工具。Ngen.exe 创建本机映像(包含经编译的特定于处理器的机器代码的文件),并将它们安装到本地计算机上的本机映像缓存中。运行库可从缓存中使用本机映像,而不是使用实时编译器编译原始程序集。


相关文章推荐:
CIL | 字节码 | 面向对象 | 堆栈 | 虚拟机 | 字节码 | CIL | 编程语言 | 源代码 | 目标代码 | 指令集 | 二进制代码 | 字节码 | 机器码 | 类型安全 | 编译器 | 程序集 | 运行库 | 缓存 | 编译器 | 程序集 |