添加到c++应用程序c# GUI
Add to C++ application C# GUI
我想为我的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++编写的功能
所有可能的方法参见这个帖子
相关文章:
- GCP 或 AWS 是否支持 C++ 和 GUI 应用程序开发?
- 多线程Windows GUI应用程序中的死锁
- 为什么在Visual Studio中用c ++编写GUI应用程序的代码与控制台应用程序的代码不同?
- 如何使用Visual Studio 2017和Qt开发GUI应用程序?
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?
- QTCreator GUI应用程序中包含窗口基源代码并在代码中打开
- Qt GUI应用程序在与GUI交互时停止实时进程
- 如何将QT GUI应用程序的版本打印到主机上
- 您如何从已经运行的GUI应用程序中启动使用GUI的可执行文件
- QT 4.x/5.x和OpenGL用于桌面GUI应用程序:选择哪种模块
- Qt Gui 应用程序部署
- 在非GUI应用程序,优点和缺点中使用QT
- 使用 Qt 的简单线程 gui 应用程序的结构是什么?
- 如何将命令行插入 GUI 应用程序
- 如何在QT GUI应用程序中进行正确的线程处理
- Qt Creator中的Qt GUI应用程序构建设置
- 编译或运行PyQT4 GUI应用程序时,排除(或禁用)log4clus警告
- 在 Linux/Windows 上使用 c++ 的 GUI 应用程序
- cv::imshow在GUI应用程序运行时阻塞线程
- 如何在Qt GUI应用程序中嵌入输出控制台窗口