成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

托管C++與非托管C++之間的關系

開發 后端
托管C++中,托管類和非托管類是可以相互使用各自的特征,但托管類能夠封裝.NET框架中的組件,希望大家能夠學習切磋。

托管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類繼承等。但同時也有一些限制,如托管類只能從一個基類繼承等。

需要說明的是,在托管C++應用程序中既可使用托管類也可以使用非托管類。圖1說明了它們之間的關系。

非托管類

 

從圖中可以看出在托管C++中,托管類和非托管類是可以相互使用各自的特征,但托管類能夠封裝.NET框架中的組件,且***限度地使用.NET框架中的特性,而傳統的C++類是使用MFC和ATL來設計的,用來編制基于Windows環境的應用程序。

除了上述服務和功能外,Microsoft .NET框架還提供基于ASP.NET的網絡服務。這些服務有助于開發代碼的簡化以及提高應用程序的可靠性。.NET 框架包括一套可被開發者用于任何編程語言的類庫,而在此之上的是許多應用程序模板,這些模板專門為開發網絡站點和網絡提供高級組件和服務。

除“托管”外,Microsoft .NET框架還引入了“組合體(Assembly)”的概念。一個組合體是一組資源和類型,并包括有關這些資源和類型的元數據,也就是一個單元(Module)。元數據包含像類型和資源表之類的信息。

這些信息能在組合體外部所調用,元數據還包括有關從屬關系之類的信息,例如組合體建立時的版本號。開發人員可以指定版本策略,以指示運行語言是否裝入系統上已安裝的依賴于組合體的***版本。

組合體既可以被一個應用程序所私有,也可被多個應用程序共享。一個組合體的多個版本可以同時配制在同一臺機器上。應用程序配制信息定義了組合體查找的方法,這樣Runtime就能為同時運行的兩個不同的應用程序裝入同一組合體的不同版本,從而消除了由組件版本的不兼容引起的問題,提高了系統整體的穩定性。

【編輯推薦】

  1. C與C++中標準輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2010-01-15 18:57:58

C++CLI

2010-01-13 18:34:43

C++ 托管

2011-05-18 18:05:47

C#C++

2011-05-18 17:56:38

C#C++

2010-02-05 14:51:48

C++托管

2010-02-06 17:16:49

C++托管程序

2010-01-11 11:09:10

C++語法

2009-04-02 15:21:43

c#IDisposeFinalize

2010-01-18 11:05:24

C++

2011-06-21 09:38:25

托管代碼非托管代碼

2010-01-28 15:22:12

C++嵌套類

2023-05-30 16:02:34

云托管云計算自托管

2009-09-02 16:02:52

C#引用托管對象

2009-08-19 10:25:18

C#托管資源

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量

2010-01-28 13:45:06

C++數組

2010-01-21 14:07:14

CC++聲明

2010-02-01 13:08:46

C++函數指針C#托
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区在线观看视频 | 一区二区三区视频在线观看 | 成人av免费 | 日本中文字幕一区 | 亚洲高清网 | 97久久久| 国产精产国品一二三产区视频 | av在线一区二区 | 欧美精品欧美精品系列 | 亚洲 欧美 精品 | 污书屋 | 日本黄色片免费在线观看 | 在线播放中文字幕 | 自拍偷拍视频网 | 男女在线网站 | 欧美在线观看一区 | 国产精品久久久久久久久久99 | 中文字幕av网 | 亚洲一二三区不卡 | 国产一级特黄视频 | 天天射影院| 这里精品 | 亚洲男人网| 欧美日韩亚洲视频 | 精品美女在线观看视频在线观看 | 欧美黄色免费网站 | 欧美性影院 | 国产午夜精品一区二区三区四区 | 免费一区二区三区 | 欧美乱大交xxxxx另类电影 | 狠狠干av | 99久久精品免费看国产四区 | 亚洲国产成人精品久久久国产成人一区 | 能看的av网站 | 精品日韩一区二区三区av动图 | 久久久精品一区 | 国产精品国产三级国产播12软件 | 亚洲欧美综合精品久久成人 | 中文字幕一区二区三区不卡 | 午夜男人的天堂 | 可以免费观看的av |