An introduction to pmemobj (part 5) - atomic dynamic memory allocation

参考链接: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 自行研究。

 

你可能感兴趣的:(PMDK)