如何从 native C++(非托管代码)调用 .NET 代码?我想将 .NET 代码公开给我的非托管 (C++) 应用程序,然后使用它们。更具体地说,我想从 native C++ 调用 C# :)。我知道有很多方法,但你能告诉我每种方法的优缺点吗?顺便说一句,我不想使用 COM 那么现在有什么选择?
是否可以将 C# 代码包装在 C++/CLI 中,然后从 C++ 中调用它?如果是这样,我该怎么做?如何将 C# 包装在 C++/CLI 中,然后从 C++ 调用它?
最佳答案
我最近才写过它。它是关于 Delphi 的,但这并不意味着它也不能与 C++ 一起使用。
.NET component in DELPHI 2009
即使对 C++ 了解不多,我仍然知道 IUnknown 和 COM 兼容的接口(interface)引用应该可以从 C++ 中很好地使用(如果您需要传递对象,而不仅仅是结构)。
此 C# 代码将导出一个函数“YourExportName”,该函数可以像使用任何 c 兼容函数一样使用。
class Sample
{
[DllExport("YourExportName")]
static int TestFunction(int left, int right)
{
return left + right;
}
}
关于.net - 如何使用非托管代码中的托管代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635679/