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

更新於: 2020 年 6 月 22 日

3K+ 瀏覽次數

啟動您的 職業生涯

完成課程即可獲得認證

開始吧
廣告