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++ 程式碼沒有這項許可權。此程式為二進位制檔,由作業系統載入記憶體。其餘部分由程式設計師負責處理。
廣告