受控代码
外观
受控代码(英语: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和混合环境下,受控代码有时泛化为用来指任何解译式程式语言。