我正在为我的项目使用Boost :: managed_shared_memory。对于allocate和deallocate,我们使用boost API,如下例所示:
shm_controller.reset(new boost::interprocess::managed_shared_memory( boost::interprocess::open_or_create, shmName, size));
void * addr = shm_controller->allocate(size) ;
shm_controller ->deallocate(addr);
为此我有两个问题:
我如何处理碎片?我们正在进行非常频繁的分配和发布。
我们在boost(slab,slub,slob)中使用了什么样的分配?
第一个问题对我来说非常重要。
如果您想了解更多相关信息,请与我们联系。