参考链接:https://pmem.io/2015/06/18/ntx-alloc.html
所用 API 接口:https://github.com/pmem/pmdk/blob/master/src/include/libpmemobj
POBJ_ZNEW() // 从内存池中间分配一个已经归零的新对象
POBJ_ZALLOC() // 同上,只是具体参数不同,详情参考链接
POBJ_NEW() // 从内存池中分配一个新对象并在 return 之前调用构造函数。新对象是已经初始化好的,如果该对象在构造函数完成之前中断,该对象的内存空间就会被自动回收。
POBJ_ALLOC() // 同上,只是具体参数不同,详情参考链接
POBJ_FREE() //释放持久性指针
POBJ_FIRST() // 访问结构体中的第一个对象
POBJ_NEXT() // 访问相同类型的下一个对象
POBJ_FOREACH_TYPE() // 遍历指定类型的每一个对象
POBJ_FOREACH_SAFE_TYPE() // 遍历制定类型中所有安全 variant
文后的 example 自行研究。
本文详细介绍PMEM库中用于对象池操作的API接口,包括POBJ_ZNEW、POBJ_ZALLOC、POBJ_NEW、POBJ_ALLOC等分配新对象的方法,及POBJ_FREE释放对象、POBJ_FIRST和POBJ_NEXT访问对象、POBJ_FOREACH_TYPE和POBJ_FOREACH_SAFE_TYPE遍历对象的使用技巧。
3323

被折叠的 条评论
为什么被折叠?



