首页 > 解决方案 > 如何从 C# 调用 C++ 代码?当 C# 代码嵌入到本机 C++ 应用程序中时

问题描述

我已经在我的原生 C++ 应用程序中嵌入了一个 .Net 运行时(CoreCLR)。正如本教程所做的那样: https ://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting

现在,我可以从 C++(非托管)调用 C#(托管)。但是在这种情况下如何从 C# 调用 C++。我的意思是,有什么方法可以让双方互相交流吗?

- - - 更多细节: - - - -

我正在开发一个跨平台的 C++ 应用程序(支持 Win/Mac/Linux)。.Net Core 是一个不错的脚本选择。

但如何相互沟通?(不只是单面)

如果“C++_app_with_C#_libs”不合适,我想唯一的方法是“C#_app_with_C++_libs”......(是吗?)

据我所知,Mono 可以达到我的目标。因为 Mono 有一个特殊的工具:

[DllImport ("__Internal", EntryPoint="EnterPoint")]

它可以在当前可执行映像中找到符号。.Net Core 中没有“__Internal”,对吧?

毕竟,你知道,在 2019 年选择 Mono 并不是一个好主意。

标签: c#c++

解决方案


推荐阅读