fbpx
维基百科

通用中间语言

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

在.NET语言的测试版中,CIL原本叫做微软中间语言,即Microsoft Intermediate Language,简称MSIL。由于C#和通用语言架构的标准化,在.Net开发平台下,所有语言(C#、VB.NET、J#、C++/CLI)都会被编译为MSIL,再由CLR负责运行,字节码现在已经官方地成为了CIL。因此MSIL有時仍會與CIL混用,特别是那些.NET语言的老用户。更详细的信息可以参看微软的说明。

概述 编辑

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

即时编译(JIT) 编辑

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

NGEN(本机映像生成器)编译 编辑

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

元数据 编辑

执行CIL 编辑

参见 编辑

  • Phalanger(PHP into CIL compiler)

参考文献 编辑

外部链接 编辑

  • Hello world program in CIL
  • Kenny Kerr's intro to CIL (called MSIL in the tutorial) (页面存档备份,存于互联网档案馆
  • Common Language Infrastructure (Standard ECMA-335)(页面存档备份,存于互联网档案馆
  • C# and Common Language Infrastructure Standards”on MSDN[永久失效連結]

通用中间语言, common, intermediate, language, 簡稱cil, 发音为, sill, kill, 是一种属于通用语言架构和, net框架的低階, lowest, level, 的人类可读的编程语言, 目标为, net框架的语言被编译成cil, 然后汇编成字节码, cil类似一个面向对象的組合语言, 并且它是完全基于堆栈的, 它运行在虚拟机上, 其主要的语言有c, visual, basic, cli以及j, net语言的测试版中, cil原本叫做微软中间语言, 即microsoft, . 通用中间语言 Common Intermediate Language 簡稱CIL 发音为 sill 或 kill 是一种属于通用语言架构和 NET框架的低階 lowest level 的人类可读的编程语言 目标为 NET框架的语言被编译成CIL 然后汇编成字节码 CIL类似一个面向对象的組合语言 并且它是完全基于堆栈的 它运行在虚拟机上 其主要的语言有C Visual Basic NET VB NET C CLI以及J 在 NET语言的测试版中 CIL原本叫做微软中间语言 即Microsoft Intermediate Language 简称MSIL 由于C 和通用语言架构的标准化 在 Net开发平台下 所有语言 C VB NET J C CLI 都会被编译为MSIL 再由CLR负责运行 字节码现在已经官方地成为了CIL 因此MSIL有時仍會與CIL混用 特别是那些 NET语言的老用户 更详细的信息可以参看微软的说明 目录 1 概述 2 即时编译 JIT 3 NGEN 本机映像生成器 编译 4 元数据 5 执行CIL 6 参见 7 参考文献 8 外部链接概述 编辑在编译 NET编程语言时 源代码被翻译成CIL码 而不是基于特定平台或处理器的目标代码 CIL是一种独立于具体CPU和平台的指令集 它可以在任何支持 NET framework的环境下运行 CIL码在运行时被检查并提供比二进制代码更好的安全性和可靠性 即时编译 JIT 编辑即時編譯是指字节码在CPU执行时被立即转换成机器码 转换是在程序执行的过程中逐渐进行的 即時編譯技术提供了特定环境下的最佳化 运行时类型安全以及汇编验证 为此 即時編譯器检查程序集元数据中是否有非法访问和句柄的冲突 NGEN 本机映像生成器 编译 编辑本机映像生成器 Ngen exe 是一个提高托管应用程序性能的工具 Ngen exe创建本机映像 包含经编译的特定于处理器的机器代码的文件 并将它们安装到本地计算机上的本机映像缓存中 运行库可从缓存中使用本机映像 而不是使用实时编译器编译原始程序集 元数据 编辑执行CIL 编辑参见 编辑PyPy 可將Python編譯成CIL的一套編譯器Phalanger PHP into CIL compiler 参考文献 编辑外部链接 编辑Hello world program in CIL Kenny Kerr s intro to CIL called MSIL in the tutorial 页面存档备份 存于互联网档案馆 Common Language Infrastructure CLI Partition III CIL Instruction Set Tutorial including CIL called MSIL in the tutorial by Aleksey Nudelman Common Language Infrastructure Standard ECMA 335 页面存档备份 存于互联网档案馆 Speed NGen Revs Up Your Performance With Powerful New Features MSDN Magazine April 2005 C and Common Language Infrastructure Standards on MSDN 永久失效連結 取自 https zh wikipedia org w index php title 通用中间语言 amp oldid 75185002, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。