[英]Add to C++ application C# GUI
我想將C ++應用程序添加到C#.NET GUI中。 我的C ++應用程序非常簡單,但是我有一些Pointer和Reference。
C#識別此指針和引用的最佳方法是什么?
有幾種方法,這里有一些,這取決於您的品味和項目。
a)如果您的C ++項目是用COM編寫的,請使用COM互操作。
b)使用COM互操作,您可以將COM包裝器寫入C ++應用程序,並從C#中使用它。
c)使用C ++ / CLI,也就是說,將您的項目轉換為Managed C ++應用程序,並在C ++中創建使用C ++代碼的托管類。 您也可以編寫托管C ++ dll來加載C ++ dll或靜態庫。
d)使用P INVOKE C調用,從與C ++類一起使用的C ++代碼中導出DLL C函數,並使用[dllimport]屬性從C#中調用C函數。 您可以使用IntPtr類型和更好,更安全的SafeHandle來表示指針和引用。
所有方法都有其優點和缺點,但是所有列出的技術都需要一個“中間層”,您不能直接從C#調用C ++代碼。
如果我理解正確,則希望在基於C#的UI應用程序中使用C ++程序編寫的功能。
您可以通過創建基於C ++ / CLI的dll來實現。 C ++ / CLI可以輕松調用C ++代碼,而C#可以輕松調用C ++ / CLI代碼。 這樣,您可以在基於C#的程序中使用用C ++編寫的功能
對於所有可能的方式,請參閱這篇文章
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.