【发布时间】:2009-12-04 17:53:31
【问题描述】:
我需要将一些数据(整数)从一个 (C++) 程序传递到另一个 (C#)。最快的方法是什么?
P.S.:操作系统:Windows XP
【问题讨论】:
-
答案在 Windows 上可能与基于 Unix 的不同,并且 C# 在 Windows 以外的操作系统上运行良好。你为什么不指定你的操作系统?
标签: c# c++ ipc communication
我需要将一些数据(整数)从一个 (C++) 程序传递到另一个 (C#)。最快的方法是什么?
P.S.:操作系统:Windows XP
【问题讨论】:
标签: c# c++ ipc communication
鉴于您同时使用 C++ 和 C#,并且它在同一个系统上,我个人对此的偏好是使用 Pipes。
它们在native code (C++) 以及通过NamedPipeClientStream 和NamedPipeServerStream 的C# 中运行良好。
但是,Interprocess Communication 还有其他选项,其中任何一个都可以。
【讨论】:
共享内存将是最快的,但命名管道也非常快且更易于使用。
【讨论】:
查看this article 了解可用选项的概要。您最好的选择可能是pipe。
【讨论】:
使用文件是最简单的方法。如果您需要速度,那么网络套接字可能是一个不错的选择。
【讨论】:
【讨论】:
以防万一它有帮助,如果这不是关键的进程间通信(如果你需要的功能可以被塑造成一个 DLL 两者都使用或类似的)你可以使用公共语言运行时进行互操作性。
【讨论】:
我的建议是 Sockets 或 RPC。我不熟悉管道,但它似乎也是一个流行的选择。
【讨论】: