【发布时间】:2018-12-07 01:53:46
【问题描述】:
我想在我的 C# 应用程序中调用别人编写的 API。
API 通过 .dll、.lib 和 .h 文件提供,并用 C++ 编写。请注意,我没有 dll 或 lib 的源代码或实现。
问题 1: 如何将c++编写的dll、lib和.h文件链接到C#项目?
问题 2: dll和lib链接完成后如何在C#中调用C++ API?
问题 3: c++ API 中的一些函数采用指针参数。如何在 C# 中传递指针参数?
下面是我想在c#应用程序中调用的c++函数原型:
unsigned long function1 ( unsigned long arg1,
unsigned long addr,
unsigned long *NumberOfBytes,
unsigned long *Data)
【问题讨论】:
-
您可以参考这个项目:github.com/prasannavl/WinApi
-
这篇文章过于宽泛,这个一般性主题有很多关于 SO 的现有答案。现在有了新搜索词(“pinvoke”和“dllimport”)的知识,您应该能够找到更多信息并可能提出更具体的问题(不要忘记阅读minimal reproducible example 发布代码指南)。作为搜索的起点 - bing.com/search?q=c%23+dllimport+site%3astackoverflow.com