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

參閱

编辑

外部連結

编辑

📚 Artikel Terkait di Wikipedia

COM Interop

Runtime.InteropServices 命名空間中的類別來提供,其中最重要的是 Marshal 類別,它提供了 managed code 和 unmanaged code 之間的資料格式與指標轉換,對於互通性來說具有相當大的幫助。 在 .NET Framework SDK 中提供了可由 COM

LiMo 平台

它有一個插入式模塊架構,並支持数位版权管理。 Limo軟件開發商能夠使用軟件開發工具去寫write managed code運行Java虛擬機器,瀏覽器應用服務給WebKit及本地代碼。 2011年2月14日,LiMo基金會推出最後一個正式版本,LiMo 4。 2007年1月:

虛擬執行系統

虛擬執行系統 (Virtual Execution System) 是一個可執行受管理程式碼 (Managed Code) 的執行環境,它提供了執行受管理程式碼所需要的內建資料型別 (data type) 以及假定的機器型態與狀態設定、流程控制與例外處理等參數。 它提供了 MSIL 程式指令所需要的支援。

C++托管扩展

C++托管扩展(Managed Extensions for C++)是对C++的一个属性和关键字的扩展,以便于在微软公司的.NET Framework进行编程。它也经常被称为托管C++。2002年由微软发布。 注意:C++托管扩展自Visual C++ 2005起被一个新的语言规范,正在标准化的C++/CLI所取代。

Direct2D

2008 video Windows API Code Pack for Microsoft .NET Framework(页面存档备份,存于互联网档案馆) - allows developing Direct2D apps in managed code Introducing Direct2D(页面存档备份,存于互联网档案馆)

DirectX

NET的特性编写DX程序,这套API被称为Managed DirectX(英语:Managed DirectX)(MDX)。2005年微軟在DirectX 9.0c版本上开发一套正对.NET平台的Managed API,即Direct 9.0 for Managed Code 1.0(简称Managed DirectX)。

即時串流協定

and mplayer. Managed Media Aggregation (页面存档备份,存于互联网档案馆): .NET C# RFC compliant implementation of RTSP written in completely managed code. Nimble Streamer

Windows CardSpace

code for managed Information Cards. Open Source PHP Secure Token Service code for managed Information Cards. Open Source C# Secure Token Service code