添加到c++应用程序c# GUI

Add to C++ application C# GUI

本文关键字:GUI 应用程序 c++ 添加      更新时间:2023-10-16

我想为我的c++应用程序添加一个c# . net GUI。我的c++应用程序很简单,但是我有一些指针和引用。

c#识别这个指针和引用的最好方法是什么?

有几种方法,这里有一些,这取决于你的品味和你的项目。

a)使用COM互操作,如果你的c++项目是用COM编写的。

b)使用COM互操作,你可以在你的c++应用程序中编写COM包装器,并在c#中使用它。

c)使用c++/CLI,也就是说,将您的项目转换为托管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++编写的功能

所有可能的方法参见这个帖子