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
進行對齊分配,顯然我必須錯過如何識別匿名分配的一些基本點。
啊謝謝 - 從一個進程發送偏移到另一個進程的想法並沒有發生在我身上 - 我猜測這個句柄甚至可能進入共享內存中的命名分配。 –