繁体   English   中英

在两个进程之间共享数组

[英]Sharing array between two processes

我有一个数组,需要在两个进程之间共享。 第一个进程具有注入的DLL,该DLL不断获取有关一些对象的信息,第二个进程需要接收此信息。 我不断地更新这个数组(对象中的数据变化很大),而其他过程则需要不断地接收这些更新。 我已经看到了人们使用共享内存的示例,但是我不确定如何使用它来不断更新阵列。 您可以向我扔出任何建议或代码吗?

您可以使用内存映射文件在多个进程之间共享阵列。

您可以在加载该DLL的进程之间共享DLL中的数据。 请参阅如何与应用程序或其他DLL共享DLL中的数据? 有关如何使用#pragma data_seg进行此操作的详细信息。 因此,如果将数组存储在DLL中,并且两个进程都打开了DLL,则所需要做的只是某种同步(例如互斥锁)来仲裁对数据的共享访问。

为了方便起见,您可能希望在DLL中实现导出的功能以读取/写入数组数据,而不是导出原始数组本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM