當前位置:編程學習大全網 - 編程軟體 - 請問什麽是托管c++程序

請問什麽是托管c++程序

什麽是托管C++

托管是.NET的壹個專門概念,它倡導壹種新的編程理念,因此我們完全可以把“托管”視為“.NET”。由托管概念所引發的C++應用程序包括托管代碼、托管數據和托管類三個組成部分。

托管代碼

.Net環境提供了許多核心的運行(RUNTIME)服務,比如異常處理和安全策略。為了能使用這些服務,必須要給運行環境提供壹些信息代碼(元數據),這種代碼就是托管代碼。所有的C#、VB.NET、JScript.NET默認時都是托管的,但Visual C++默認時不是托管的,必須在編譯器中使用命令行選項(/CLR)才能產生托管代碼。

托管數據

與托管代碼密切相關的是托管數據。托管數據是由公***語言運行的垃圾回收器進行分配和釋放的數據。默認情況下,C#、Visual Basic 和 JScript.NET 數據是托管數據。不過,通過使用特殊的關鍵字,C# 數據可以被標記為非托管數據。Visual C++數據在默認情況下是非托管數據,即使在使用 /CLR 開關時也不是托管的。

托管類

盡管Visual C++數據在默認情況下是非托管數據,但是在使用C++的托管擴展時,可以使用“__gc”關鍵字將類標記為托管類。就像該名稱所顯示的那樣,它表示類實例的內存由垃圾回收器管理。另外,壹個托管類也完全可以成為 .NET 框架的成員,由此可以帶來的好處是,它可以與其他語言編寫的類正確地進行相互操作,如托管的C++類可以從Visual Basic類繼承等。但同時也有壹些限制,如托管類只能從壹個基類繼承等。

  • 上一篇:如何實現excel數據導入批量生成二維碼
  • 下一篇:linux查看堆棧信息linux查看堆棧
  • copyright 2024編程學習大全網