站长信息
jeffery.xu
jeffery.xu

软件工程师

欢迎访问我的个人笔记网站!我是一名热爱技术的开发者,专注于Web开发和技术分享。

811495111@qq.com
18521510875
筛选

个人笔记

托管执行和CLI
编程技巧

处理器不能直接解释程序集。.NET程序集用的是另一种语言,即公共中间语言(Common Intermediate Language,CIL),或称中间语言(IL)。C#编译器将C#源代码转换成中间语言。为了将CIL代码转换成处理器能够理解的的机器码,还要完成一个额外的步骤(通常在运行时进行)。该步骤涉及C#程序执行的一个重要元素:VES(Virtual Execution System, 虚拟执行系统)。VES也称为”运行时“(runtime)。它根据需要编译CIL代码,这个过程称为即时编译JIT编译(just-in-time compilation)。如果代码在像”运行时“这样的一个”代理“的上下文中执行,那么就称为托管代码(managed code),在”运行时“的控制下执行的过程则称为托管执行(managed execution)。之所以称为”托管“,是因为”运行时“管理着诸如内存分配、安全性、JIT编译等方面,从而控制了主要的程序行为。执行时不需要”运行时“的代码则称为本机代码(native code)非托管代码(unmanaged code)