Metro 应用程序中 C++ 和 C# 之间的通信

Posted

技术标签:

【中文标题】Metro 应用程序中 C++ 和 C# 之间的通信【英文标题】:Communication between C++ and C# in a metro app 【发布时间】:2012-03-20 15:43:50 【问题描述】:

我正在构建一个 Metro 应用程序,我需要从 C++ 调用一个 C# 库。简单地调用 C# 代码并不难。问题是我应该如何从 C# 到 C++ 进行通信。如何在 winRT 中执行此操作?是否可以?因为我发现的所有示例都只有一种方式通信。

【问题讨论】:

您必须使用 C# 代码和 C++ 代码针对 WinRT 配置文件进行编译。如果您可以在 C++ 中与 C# 进行通信,那么反过来也同样容易。 我想你的意思是在两个winrt组件之间进行通信,一个用C#构建,一个用C++构建?你到底打算“交流”什么? 我希望能够从 C# 代码调用在 C++ 代码中实现的回调。据我了解,我不能简单地在 C# 代码中包含一个允许我调用回调的 c++ 标头。 好吧,其实很简单。我可以在我的 C++ 代码中实现一个 C# 接口,我可以将其用作来自 C# 库的回调。 @user499986 那么您应该将其发布为答案,然后接受它。 【参考方案1】:

好吧,其实很简单。我可以在我的 C++ 代码中实现一个 C# 接口,我可以将它用作来自 C# 库的回调。

【讨论】:

以上是关于Metro 应用程序中 C++ 和 C# 之间的通信的主要内容,如果未能解决你的问题,请参考以下文章

c++和c#之间的共享内存同步

在 C++ 和 C# 之间进行通信?

在 C++ 和 C# 或 VB 之间共享数据(2 个运行程序)

C# 应用程序与 C++ 和 VB.Net 中的其他应用程序之间的 IPC

如何在 C# 和 C++ 之间进行互操作

在 C++ DLL 和 C# 类之间来回传递变量