1
如果我使用allocate_aligned
在共享内存块中分配一个对齐的内存块,那么如何在另一个进程中识别同一个块?例如。boost :: interprocess - 在共享内存中allocate_aligned?
managed_shared_memory managed_shm(open_or_create, "SharedMemory", 65536);
void *ptr = managed_shm.allocate_aligned(256, 16);
如何从其他进程中找到ptr
?
对于不对齐的分配,我只使用find_or_construct
,然后显然有一个名称与分配相关联,从而可以从另一个进程中找到分配。然而,似乎没有任何方法可以与find_or_construct
进行对齐分配,显然我必须错过如何识别匿名分配的一些基本点。
啊谢谢 - 从一个进程发送偏移到另一个进程的想法并没有发生在我身上 - 我猜测这个句柄甚至可能进入共享内存中的命名分配。 –