托管代码
外观
托管代码(英语:managed code)是来自微软公司的术语。托管代码以CLI虚拟机执行,如微软的.NET Framework共通语言执行平台,其他的CLI实现有Mono和DotGNU。
托管代码的执行
[编辑]一般以较易为人所理解的编程语言来为托管代码环境撰写程序,具代表性的编程语言为C#、J#、C++或Visual Basic .NET。
执行代码时,运行库编译器(runtime-aware compiler)在受控执行环境下,将中间语言(Intermediate Language)编译成本机的机器代码。受控执行环境可为代码插入垃圾回收、异常处理、类型安全、数组边界检查等,以保证代码安全的执行。
这正是即时编译(Just-in-time compilation)的手法。不同的是,文件中除了保存假机器代码,同时也可包含提供给不同机器(如x86和PowerPC)的已编译执行码。类似于苹果的通用执行码格式的概念。
托管代码和非托管代码
[编辑]在微软Windows环境下,所有不属于托管代码的,就被认为是非托管代码。在非微软Windows和混合环境下,托管代码有时泛化为用来指任何解译式编程语言。