共用方式為


執行程式碼

更新:2007 年 11 月

Common Language Runtime 提供基礎結構,讓 Managed 執行以及可在執行期間使用的各種服務能夠運作。在可以執行方法之前,必須將其編譯為處理器特定程式碼。已經產生 Microsoft Intermediate Language (MSIL) 的每個方法在初次呼叫時會進行 Just-In-Time 編譯 (JIT 編譯),然後才執行。下次執行方法時,就會執行現有以 JIT 編譯的機器碼。JIT 編譯和接著執行程式碼的過程會不斷重複直到執行完成為止。

在執行期間,Managed 程式碼會接收服務,例如記憶體回收、安全性、與 Unmanaged 程式碼的互通性 (Interoperability)、跨語言偵錯支援,以及增強的部署和版本控制支援。

在 Microsoft Windows XP 和 Windows Vista 中,作業系統載入器藉由查看通用物件檔案格式 (Common Object File Format,COFF) 前置資料中的某一位元,檢查 Managed 模組。所設定的位元代表 Managed 模組。如果載入器偵測到 Managed 模組,則會載入 mscoree.dll,而當載入和卸載 Managed 模組影像時,_CorValidateImage 和 _CorImageUnloading 會通知載入器。_CorValidateImage 會執行下列動作:

  1. 確定程式碼是有效的 Managed 程式碼。

  2. 將影像中的進入點 (Entry Point) 變更為 Runtime 中的進入點。

在 64 位元的 Windows 中,_CorValidateImage 會將記憶體中的影像從 PE32 格式轉換為 PE32+ 格式,以便進行修改。

請參閱

概念

Managed 執行程序

其他資源

.NET Framework 中的安全性

與 Unmanaged 程式碼互通

部署 .NET Framework 應用程式