如何在windows中用c / c ++实现hello world共享内存?

时间:2010-08-30 01:38:39

标签: c++ windows shared-memory

首先是共享内存稳定吗?

我更喜欢这种方式来进行进程间/应用程序通信,因为这样我不需要解析数据的开销。

在c / c ++中是否有一个很好的hello world演示?

5 个答案:

答案 0 :(得分:3)

你应该看看Boost.Interprocess。它提供了您需要的功能,文档中包含有关如何使用它的说明。

答案 1 :(得分:1)

  

首先是共享内存稳定吗?

  

我更喜欢这种方式来进行进程间/应用程序通信,因为这样我不需要解析数据的开销。

你可能错了。

  

在c / c ++中是否有一个很好的hello world演示?

我想要Managing Memory-Mapped Files之类的东西。

答案 2 :(得分:1)

使用共享内存时需要考虑一些问题:

  1. 您需要锁定对共享内存的访问权限,以便在另一个进程写入它时,没有进程尝试从中读取,以防止读取部分更新(不稳定)。
  2. 您需要某种方法来处理共享内存的损坏。当写入共享内存的程序崩溃并使共享内存损坏时会发生什么?

答案 3 :(得分:0)

它和你的代码一样稳定。

请注意,任何支持二进制消息的IPC方法都不需要解析,例如UDP数据报,消息模式管道或邮件槽。

答案 4 :(得分:0)

如果您正在寻找一个简单的示例,来自MSDN的Using Shared Memory in a Dynamic-Link Library可能是一个很好的起点。