托管代码

托管代码(英语:managed code)是来自微软公司的术语。托管代码以CLI虚拟机执行,如微软的.NET Framework共通语言执行平台,其他的CLI实现有MonoDotGNU

托管代码的执行

一般以较易为人所理解的编程语言来为托管代码环境撰写程序,具代表性的编程语言为C#J#C++Visual Basic .NET

执行代码时,运行库编译器(runtime-aware compiler)在受控执行环境下,将中间语言(Intermediate Language)编译成本机的机器代码。受控执行环境可为代码插入垃圾回收异常处理类型安全、数组边界检查等,以保证代码安全的执行。

这正是即时编译(Just-in-time compilation)的手法。不同的是,文件中除了保存假机器代码,同时也可包含提供给不同机器(如x86PowerPC)的已编译执行码。类似于苹果通用执行码格式的概念。

托管代码和非托管代码

在微软Windows环境下,所有不属于托管代码的,就被认为是非托管代码。在非微软Windows和混合环境下,托管代码有时泛化为用来指任何解译式编程语言

参阅

外部链接