【发布时间】:2013-10-09 06:07:18
【问题描述】:
我需要整合这个C# dll 在我的 C++ 代码中。我想从 dll 调用一些用 C# 编写的函数,其余代码用 C++ 编写。什么是最简单和最快的方法?该程序将仅在 Windows 上执行。
【问题讨论】:
标签: c# c++ visual-c++ dll
我需要整合这个C# dll 在我的 C++ 代码中。我想从 dll 调用一些用 C# 编写的函数,其余代码用 C++ 编写。什么是最简单和最快的方法?该程序将仅在 Windows 上执行。
【问题讨论】:
标签: c# c++ visual-c++ dll
从非托管代码调用 .NET DLL 基本上有两种情况:
.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。
【讨论】: