【发布时间】:2018-02-18 11:22:08
【问题描述】:
我正在尝试实现一个init_allocator() 函数来初始化内存分配器并使_length 字节的一部分可用。分配器使用_basic_block_size 作为其最小分配单元。该函数返回分配器可用的内存量。如果发生错误,则返回0。
这是我目前所拥有的:
int memAvail; // amount of memory to be made available to allocator
unsigned int init_allocator(unsigned int _basic_block_size, unsigned int _length){
if (_basic_block_size < _ length){
memAvail = _length/_basic_block_size;
return memAvail;
}
else{
return 0;
}
}
我不知道这是否是正确的实现,但对我来说似乎是正确的。有什么我做错了吗?我应该使用指针吗?任何建议将不胜感激。
【问题讨论】:
-
您的要求尚不清楚,但大多数内存子分配器的作用远不止于此。例如,您应该调用您的操作系统 API 来管理一大块内存。
-
我应该实现一个简单的内存分配器。我不确定 OS AP1 是什么意思
标签: c pointers memory-management malloc dynamic-memory-allocation