【发布时间】:2011-01-13 18:55:30
【问题描述】:
我有一个用 C++ 实现的类,它负责程序的算术计算,以及一个使用 WPF 的接口。我使用 C# 处理输入,但是我如何使用我的 C++ 类?
我见过一些关于制作托管 C++ 包装类以与之交互的 cmets,但我不知道从哪里开始。我也不知道如何将它与所有其他代码一起编译。我真的找不到这方面的教程,而且谷歌在托管 C++ 上显示的内容似乎并没有帮助。
有什么可以帮助我的吗?这对我来说似乎不无道理。
编辑 尝试了 m3rLinEz 解决方案,但它给了我一个 BadImageFormatException,我认为这是因为没有生成 DLL。我按照说的做了,我不知道发生了什么。有什么想法吗?
【问题讨论】:
-
这里有一个不错的教程:codeproject.com/KB/mcpp/quickcppcli.aspx#A8
-
我知道 natice C++ 的运行速度比 C#/WPF 快,但是围绕原生 C++ 编写 CLI 包装器的开销是多少?所有这些工作真的值得吗?将 C++ 封装在 CLI 中是否比简单地将代码移植到 C++ 中更快?
-
我修复了我的 BadImageFormatException,因为我的 CLI 项目默认在 x86 模式下编译,而我的 C# 应用程序处于任何 CPU 模式。更改它可能对您有用。
标签: c# c++ c++-cli pinvoke managed-c++