前面有了两篇讲解内存分配的博文:
持久性内存编程——事务性动态内存分配:https://blog.csdn.net/SweeNeil/article/details/90547136
持久性内存编程——原子分配动态内存:https://blog.csdn.net/SweeNeil/article/details/90444432
其实写得都有点简单,没有一个比较简单具体的案例,下面就把具体的内存分配的简单案例整理出来。
目录
一、事务性动态内存分配
rect_calc.c:
#include <stdio.h>
#include <string.h>
#include <libpmemobj.h>
POBJ_LAYOUT_BEGIN(rect_calc);
POBJ_LAYOUT_ROOT(rect_calc, struct my_root);
POBJ_LAYOUT_TOID(rect_calc, struct rectangle);
POBJ_LAYOUT_END(rect_calc);
struct rectangle {
int a;
int b;
};
struct my_root {
TOID(struct rectangle) rect;
};
int area_calc(const TOID(struct rectangle) rect) {
return D