受控代碼

受控代碼（）是來自微軟公司的術語。受控代碼以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和混合環境下，受控代碼有時泛化為用來指任何解譯式程式語言。

參閱
 Blittable Types

外部連結
 Brad Abrams of Microsoft defines managed code
 Channel9 video of the Microsoft Research OS made in fully managed C# code

Category:计算机术语
Category:计算机语言
Category:.NET