在两个应用程序之间共享内存

25

我有两个不同的Windows应用程序(由两个不同的人编写代码)。一个是用C++编写的,另一个是使用C#。我需要找到一种在它们之间共享RAM数据的方法。其中一个程序必须写入数据,而另一个程序只需读取已写入的数据。为了使效果最佳和速度最快,我应该使用什么方法?感谢。

3个回答

27

1
它们受到逻辑地址空间的限制。(在我的情况下最高是2GB,尽管我的RAM是16GB) - FindOut_Quran
3
没问题,因为你可以映射多个文件。 - Martin Kersten
只是提醒一下,第二个链接的页面已丢失/禁用。 - Broots Waymb

4
您可以使用命名管道命名管道是一种命名的、单向或双向管道,用于在管道服务器和一个或多个管道客户端之间进行通信。所有命名管道的实例共享相同的管道名称,但每个实例都有自己的缓冲区和句柄,并为客户端/服务器通信提供单独的通道。使用实例使得多个管道客户端能够同时使用同一个命名管道。

任何进程都可以访问命名管道,但需要经过安全检查,这使得命名管道成为相关或不相关进程之间简单的通信形式。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接