2012-10-06 133 views
3

可能重複:
What's the difference between a non-unmanaged type and a managed type?託管類型C++

我最近開發的應用在C++和我遇到的東西來了所謂的託管類型,原生類型,編組等我不太清楚這些術語的含義。從我一直在閱讀的內容來看,似乎我們在C++中管理類型以允許訪問某些.Net功能(.Net本機類型),並且我們使用封送處理將託管類型轉換爲本機類型(反之亦然)。我對麼?謝謝〜

+0

@Zeta:不,其他問題與錯誤消息中的術語「非無類型」混淆,而不是託管類型。 –

回答

1

Managed C++ was/is a Microsoft creation。使用託管C++框架開發的應用程序在虛擬機環境中運行,就像.NET應用程序一樣。這提供了更多運行時檢查,內存分配等功能。此外,虛擬機提供垃圾收集就像.NET爲C#做的一樣。託管框架的限制是它不支持多繼承(C#不支持多繼承)。因此受管理的C++開發受到限制。 Marshaling也稱爲序列化,其中對象被轉換爲其他「簡單」類型以通過RPC傳輸到其他進程或機器。