是否可以创建一个在进程之间共享的内存池(例如从Win32 中的CreateFileMappingwith INVALID_HANDLE_VALUE),然后将该块内存用作堆?
我希望new/delete运算符(或malloc/ free)从该块中分配/释放内存(并对其进行通常的堆管理)。
谢谢。
编辑:我真正的问题很简单:现在我使用new运算符来正常分配各种大系列的结构,但我希望这些结构在进程关闭后仍然存在。所以我想创建另一个进程,它几乎唯一的功能就是在主进程关闭时保存内存。
为此,我将在辅助进程中创建一块共享内存CreateFileMapping,并在主进程中告诉那些new/delete用于分配结构以使用该块而不是进程的堆。
为了在主进程重新启动后恢复结构,我将向所有指针添加一个固定数量,以反映由MapViewOfFile.