C# 中托管代码与非托管代码
非托管代碼
不受 CLR 控制的應用程式未受管理
不安全的代碼或未受管理的代碼是使用指標變數的代碼區塊。
unsafe 修飾詞允許在未受管理的代碼中使用指標。
讓我們看範例 –
範例
static unsafe void Main(string[] args) { int var = 20; int* p = &var; Console.WriteLine("Data is: {0} ", var); Console.WriteLine("Address is: {0}", (int)p); Console.ReadKey(); }
受管理代碼
受管理代碼是其執行由公共語言執行時期管理的代碼。它取得受管理的代碼並將其編譯成機器碼。之後執行代碼。此處的執行時期,即 CLR,提供自動記憶體管理、類型安全性等。
受管理代碼以高階語言撰寫,執行於 .NET 之上。它可以是 C#、F# 等。使用它們的編譯器編譯任何一種語言的代碼,不會產生機器碼。不過,您將取得中間語言代碼,由執行時期編譯和執行
稱為「未受管理代碼」的 C/C++ 代碼沒有這項權限。此程式為二進制檔,由作業系統載入記憶體。其餘部分由程式設計師負責處理。
广告