0

想知道是否有人会这么好心地指出我如何在 C# 中调用第三方的 C++ DLL 的正确方向。API 是封闭源代码,但头文件可用。我已经阅读了有关使用 P/Invoke 的信息,但在进一步深入研究之后,它会导致编组非常复杂的数据结构,如果我可以为第三方类/函数做声明的话。

如果那里有任何阅读材料/教程,您可以推荐或指出正确的方向,我将不胜感激。

非常感谢提前

4

1 回答 1

0

我发现http://www.pinvoke.net/很有帮助。

还有http://clrinterop.codeplex.com/releases/view/14120

此外,我发现有帮助的是做一个测试解决方案。首先制作一个最初什么都不做的 C# 控制台应用程序,然后制作另一个项目(文件、新建、项目、Visual C++、Win32 控制台应用程序)。需要那个)。
当项目出现时,按原样编译并将 DLL 复制到 C# 项目的输出文件夹使用 P/Invoke Interop Assistant 根据标头生成 C# 方法(我将从不带参数的函数开始,并且返回一个 int。)然后从您的 C# 控制台应用程序中调用它。
一旦我确定了它如何与非常简单的东西一起工作,一次扩展一点就容易多了。
尝试自己编写 C# 调用,然后使用 P/Invoke Interop Assistant 进行仔细检查。最好的祝愿。

于 2013-10-29T21:14:47.113 回答