2

有没有一种方法,而不是使用服务器/客户端方法或文件保存/加载方法,我可以使用它在两个单独的 C++ 和 C# 应用程序之间传输对象?

实际上我想要做的是我在 C# 中创建项目的 GUI 部分并在 C++ 中创建项目的某些部分,并通过在这两个应用程序之间进行通信,我继续前进。

出于某些原因,我只想使用 C++ 控制台应用程序(我不知道如何在 C++ 中创建 DLL 以及我想知道当前可能性而不使用 DLL 的形式)

4

3 回答 3

2

如果它们确实必须是单独的项目,您可以使用IPC 。

否则,请查看托管 C++。您可以围绕您的 C++ 代码创建一个包装器并直接从 C# 调用它。这是一个教程...

于 2012-08-24T13:55:46.023 回答
1

当然,一个很好的方法是使用 dll。此外,您可以在 c++ 中创建命令行程序并在 c# 中调用它们。如果要返回复杂数据,则必须实现通信协议。

另一种方法是使用控制台应用程序在另一个线程中处理数据时打开其输入,这样您就可以处理通信流数据(就像您打开控制台一样)。当然,您需要解析输出。

于 2012-08-24T13:53:13.097 回答
0

有几种方法可以实现两个任务之间的通信(尽管它们是用不同的编程语言开发的;-))。

一种简单的方法是在每个应用程序中实现一个客户端/服务器类。这样,您可以在任务之间双向发送复杂数据并让它们进行通信。

于 2012-08-24T13:57:24.170 回答