在c++中实现共享内存管理器

To implement a Shared memory manager in C++

本文关键字:内存 管理器 共享 实现 c++      更新时间:2023-10-16

我实现了一个简单的共享内存代码,它分散在两个进程中(一个作为写入器,另一个作为读取器)。但是我想管理这个SHM代码(就像内存管理器一样),它独立于任何读/写进程。通过简单地给一些钩子/指针到外面,有人能建议我一个方法吗?或任何相关的代码或链接有关的相关信息?我可以使用Zygote过程来实现它吗,请建议?

在现代操作系统中,应用程序不能使用普通指针"共享"其内存。这需要操作系统的帮助,并且高度依赖于所讨论的操作系统。例如,在Linux上,最好的选择是使用SysV共享内存。

确保您了解多进程共享内存的开销,并问自己仅仅使用线程是否不够。在大多数情况下,线程就足够了,否则您应该重新考虑您的模型,使用消息传递/无共享模型。

看看Boost。Iterprocess可以为您做的。