【问题标题】:Generic Memory Allocator通用内存分配器
【发布时间】:2013-05-30 05:30:25
【问题描述】:

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

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

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

请为此类应用推荐任何库

【问题讨论】:

    标签: memory-management boost ace


    【解决方案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 中不需要强制转换。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多