【问题标题】:Using C# dll in C++ code在 C++ 代码中使用 C# dll
【发布时间】:2013-10-09 06:07:18
【问题描述】:

我需要整合这个C# dll 在我的 C++ 代码中。我想从 dll 调用一些用 C# 编写的函数,其余代码用 C++ 编写。什么是最简单和最快的方法?该程序将仅在 Windows 上执行。

【问题讨论】:

标签: c# c++ visual-c++ dll


【解决方案1】:

从非托管代码调用 .NET DLL 基本上有两种情况:

  1. .NET DLL 公开了一个 COM 接口。在这种情况下,您可以在 C++ 代码中使用 COM。
  2. .NET DLL 不公开 COM 接口。在这种情况下,您有两种可能性(为简单起见):

    2.a.如下所述托管 CLR:Loading the Common Language Runtime into a Process
    2.b。编写一段托管 C++ 代码(另一个 DLL - 用 C++/CLI 编写)来包装 .NET DLL 并将“旧方式”DLL 导出暴露给非托管客户端。

我不特别了解Sharpbox系统,但它看起来像是纯.NET并且不公开COM接口,所以2.b可能是最好的方法(不是那么容易......)。也许它有一个您可以使用的更简单的 REST/Web API。

PS:您还可以将导出添加到 .NET DLL。此处对此进行了描述:Is is possible to export functions from a C# DLL like in VS C++? 但它有点 hacky。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-20
    • 2010-09-23
    • 1970-01-01
    • 2020-03-06
    • 2012-01-05
    • 1970-01-01
    相关资源
    最近更新 更多