gpt4 book ai didi

c - 不用 Malloc 动态分配内存

转载 作者:行者123 更新时间:2023-12-04 10:27:46 32 4
gpt4 key购买 nike

我接到了一项任务,要动态管理内存以超越 malloc 的速度。一些要求:

1) 有一个指向结构的指针

2)使用内存“ block ”

3) 内存将通过这样的调用分配

init(memory * mem, int chunk_size, int num_chunks)

4) 内存指针将在全局声明。

5) 不使用系统调用

所以,我考虑过让我的结构简单地只是:

typdef struct {
char *byte;
} memory;

然后这将使我的 init 函数执行如下操作:

mem = new memory[chunk_size * num_chunks];

我不知道你是否可以在 C 中做到这一点——通常我会使用 malloc!然后释放我是否能够将指针设置为空?

感谢您的帮助!

最佳答案

您可以使用进程内存管理的系统调用来实现您自己的“malloc”版本...尝试 brk、sbrk 和 mmap 系统调用从内核获取内存...

这有一个易于理解的实现,您可以在其上实现和改进

http://www.inf.udec.cl/~leo/Malloc_tutorial.pdf

关于c - 不用 Malloc 动态分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867347/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com