用c++写个内存管理器
时间: 2023-02-08 09:12:41 浏览: 55
内存管理器是一种重要的系统组件,用于管理程序运行时使用的内存。下面是一个简单的 C 语言内存管理器的例子:
```
#include <stdio.h>
#include <stdlib.h>
#define MEM_SIZE 100
char memory[MEM_SIZE];
int used_size = 0;
void *my_malloc(int size) {
if (used_size + size > MEM_SIZE) {
printf("Error: Not enough memory.\n");
return NULL;
}
void *ptr = &memory[used_size];
used_size += size;
return ptr;
}
void my_free(void *ptr) {
// Do nothing
}
int main() {
int *ptr = (int *)my_malloc(sizeof(int));
*ptr = 5;
printf("%d\n", *ptr);
my_free(ptr);
return 0;
}
```
这是一个简单的内存管理器,它使用一个固定大小的内存数组来模拟内存。my_malloc 函数用于申请内存,它会检查是否有足够的内存空间来分配给请求的大小,如果有,则返回一个指向新分配内存的指针,否则返回 NULL。my_free 函数用于释放内存,但是在这个例子中并没有实际的释放操作。
注意:这只是一个简单的示例,并不能用于生产环境。这仅仅是一个参考,这个内存管理器不能处理内存碎片问题,无法重用已经释放的内存。