如何从本机 C++(非托管代码)调用 .NET 代码?我想将 .NET 代码公开给我的非托管 (C++) 应用程序,然后使用它们。更具体地说,我想从本机 C++ 调用 C# :)。我知道有很多方法,但你能告诉我每种方法的优缺点吗?顺便问一下,我不想使用 COM,那么现在有什么选择呢?
我是否可以将 C# 代码包装在 C++/CLI 中,然后从 C++ 调用它?如果是这样,我该怎么做?如何将 C# 包装在 C++/CLI 中,然后从 C++ 调用它?
我最近才写过相关文章。它是关于 Delphi 的,但这并不意味着它不能与 C++ 一起使用。
DELPHI 2009 中的.NET 组件
即使对 C++ 了解不多,我仍然知道 IUnknown 和 COM 兼容的接口引用应该可以在 C++ 中很好地使用(如果您需要传递对象,而不仅仅是结构)。
- 您可以使用 Microsoft 的 C++/CLI 引用您的 C# 代码并将其导出为普通 DLL 函数。
- 您还可以下载一个MSBuild任务我写道,它允许您直接从 C# 导出函数。类似于 DllImportAttribute 的使用方式。
此 C# 代码将导出一个函数“YourExportName”,可以像使用任何 C 兼容函数一样使用该函数。
class Sample
{
[DllExport("YourExportName")]
static int TestFunction(int left, int right)
{
return left + right;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)