c# - 从 C++ DLL 调用 C# 函数

标签 c# c++ function variables dll

我有一个用 C++ 编写的 DLL,我想将 C# 函数传递给 C++ DLL 中的函数并从 C++ 调用 C# 函数。我该怎么做?提前致谢,请让您的回答简单明了。我认为我不需要为此发布代码示例,但如果您需要,请询问。

最佳答案

通常有两种方法可以实现此目的:COM Interop 和 Reverse PInvoke。如果您要传递大量具有行为的对象,那么 COM 互操作可能是您最好的选择。在这里,虽然听起来您只是想传递一个函数。如果是这样,那么 Reverse PInvoke 就是您想要的。

这是关于这个主题的一个很好的教程

虽然基本过程与普通 PInvoke 非常相似。

  • 定义一个至少接受一个函数指针的 native 入口点
  • 在托管代码中将 native 指针定义为委托(delegate)
  • 通过入口点向下传递委托(delegate)

现在可以在本地代码中将其作为普通函数指针调用

关于c# - 从 C++ DLL 调用 C# 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552498/

相关文章:

访问 SQLite 数据库的 JavaScript 函数

c# - C#-事件订阅和变量覆盖

c++ - Visual C++ 初始化与 gcc 和 clang 不一致

c - 在C中的int数组中查找数字的频率

c++ - 为什么即使对象指针在多重继承中不同,这也是相同的?

c++ - 用于定义常量的结构化绑定(bind)

Javascript:函数中的 forEach 方法?

c# - GridView导出Excel时如何隐藏到列?

c# - 使用导入函数时不必要加入 Entity Framework ?

c# - 为不同的数据库转换 SQL 查询