通用内存分配器

时间:2013-05-30 05:30:25

标签: memory-management boost ace

我想创建一个内存管理器/分配器,它分配任何指定大小的内存。 我尝试过使用Boost和ACE内存分配器,但是它们只分配特定类型的数据

ACE_cached_allocator如果分配器为int类型,我们只能为int分配内存,而不能为char分配内存。

示例: - 我可以询问任何大小的内存,如int,char或任何class/structure

请为此类申请建议任何lib

1 个答案:

答案 0 :(得分:1)

我想你只想要malloc。您可以像这样分配20 int数组的内存:

int *a = (int *)malloc(sizeof *a * 20);
a[0] = 1234;
a[1] = 4567;
free(a);

如果你有一个类型为Foo的结构或类,它只是:

Foo *fp = (Foo *)malloc(sizeof *fp);

答案似乎很简单,所以我误解了你的问题吗?

(注意:在C中不需要演员表。)