受控代碼
外观
受控代碼(英語: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和混合環境下,受控代碼有時泛化為用來指任何解譯式程式語言。