旧C++应用与新 C# 应用之间的桥梁

Bridge between old C++ app and a new C# app

本文关键字:应用 之间 C++      更新时间:2023-10-16

我们有一个旧的C++应用程序,它有一个服务层。将使用 C# 开发一个新应用。在完成之前,应该在他们之间共享内容。C# 中的新项可能需要在现有系统中实现,反之亦然。

现有图层中的服务消息由带有命令的文本字符串组成。我需要在现有服务之间构建代理以及 C# 中的新服务。

我想我在服务中至少需要两个输入 (C++/C#) 和两个输出 (C++/C#) 函数,除非最好使输入和输出更通用。

有人有这样的服务的例子,它充当系统之间的桥梁(交换文本字符串)?例如,是否建议为此使用 WCF?

谢谢

问候,纳科里

为了在 C# 中快速支持 C++ 代码,您可以考虑使用 http://www.codeproject.com/Articles/19354/Quick-C-CLI-Learn-C-CLI-in-less-than-10-minutes#A8 中所示的包装器

这里

和这里还有更多的例子。

它将在编写 C# 本机代码时提供临时解决方案。

您还可以使用平台调用(此处提供教程和示例):

  • 您需要做的是为非托管 DLL 中的每个函数创建一个函数标头;
  • 将函数驻留在哪个 DLL 中指定为 .NET;
  • 现在,您可以像使用任何普通 .NET 函数一样使用这些函数中的任何一个。

您需要特别注意正确匹配数据类型,这有助于为基于 C++ 的代码提供函数定义,以帮助定义 C# 代码。

如果您需要更多信息,请告诉我:)