【问题标题】:in C#, calling third party API (C++)在 C# 中,调用第三方 API (C++)
【发布时间】:2013-10-29 20:38:52
【问题描述】:

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

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

提前非常感谢

【问题讨论】:

标签: c# c++ api


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 2016-01-02
    • 2020-11-08
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多