如何用c++逻辑在c#或VB中创建一个接口
How to create an inteface either in C# or VB with C++ Logic
我的问题是用c++代码创建接口的最佳方法是什么
基本上到目前为止,我有一个控制台项目在c++中,工作如我所期望的,但我现在想为它做一个GUI。我的选择似乎是:
-
制作c++项目的dll,然后制作一个c#表单,使用dll来执行逻辑。
-
除VB外与1相同
-
使用QT或类似的东西,在同一个项目中制作接口
我一直在尝试选项1很长一段时间。通过在Visual Studio 2005中创建一个库项目,我成功地创建了这个库。然后我把它放在我的c#项目中,但我遇到了一个问题,即无法实例化我的类,但c#项目无法看到我的方法。
我能找到的唯一解决办法是使用ref关键字。这样做的问题是无法混合托管和非托管代码,并且在一个较大的类上尝试这种方法会产生大约250个错误。
选项2我有同样的问题。
如果有必要,我会从选项3开始,我只是想知道我是否遗漏了什么基本的或任何一般性的建议?
为阅读干杯
你完全可以从c#中使用c++代码,但如果它是非托管的c++代码,你必须钻研pinvoke领域来调用你的代码。
如果您试图利用。net中现有的c++库,那么最简单的方法之一就是使用c++/CLI作为非托管库的包装器。c++/CLI编译成。net字节码,但具有许多自动的非托管互操作。在使用c++/CLI非托管互操作时,经常出现的一个短语是"它只是工作"。这是个准确的短语。
一旦你为你的非托管代码有了一个c++/CLI包装器,c#应该能够看到你的c++/CLI库暴露的所有东西。
相关文章:
- 模板化接口 - 创建一个泛型模板类以返回任何容器
- 类接口,可以创建N个方法
- 在C ++ ASIO中,如何为HTTP或HTTPS创建相同的套接字对象(接口/抽象问题?
- 无法使用 SQL VDI(虚拟设备接口)创建条带化备份
- 如何创建一个接口,允许我访问C++中的按钮(和其他ui)函数,该函数是使用python中的MFC实现的
- 我们可以在层次结构中创建多个纯虚拟接口及其实现而不会代码爆炸吗?
- C++创建具有可变参数模板方法的接口
- 创建接口和混凝土类并在向量中使用它们会导致调用方法时的怪异行为
- 如何在接口类中创建一个超类对象
- 在旧接口上创建新的 C++ 接口以添加新函数
- 在C++中创建接口的对象
- 使用类模板参数推导来创建一个静态接口
- 是否在对象中创建临时接口
- 当从一个应用程序调用时,在DLL方法中创建COM接口指针是有效的,但当从另一个应用软件调用时则无效
- 创建 COM 接口指针在开发计算机上有效,但会导致其他计算机上的应用程序崩溃
- 为我的C++静态库创建接口
- 使用SWIG为perl创建C++接口
- 如何在构造函数中创建接口数组
- 用什么类型的智能指针创建接口
- 如何使用 .NET 为应用程序创建接口C++