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

參閱

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.