受控代码

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

参阅

外部链接