C中malloc()的替代品是什么?

pat*_*ick 21 c embedded malloc

我正在为MPC 555板写C,需要弄清楚如何在不使用malloc的情况下分配动态内存.

asv*_*kau 18

通常malloc()使用sbrk()或在Unix上实现mmap().(如果使用后者,则需要使用该MAP_ANON标志.)

如果你的目标是Windows,VirtualAlloc可能会有所帮助.(或多或少在功能上等同于匿名mmap().)

更新:没有意识到你没有在一个完整的操作系统下运行,我不知何故给人的印象是,这可能是一个在Unix系统之上运行的作业任务......

如果你正在做嵌入式工作并且你没有malloc(),我认为你应该找到一些内存范围,你可以写,并自己编写malloc().或者拿别人的.

几乎所有人借用的标准都是由Doug Lea在SUNY Oswego撰写的.例如,glibc的malloc基于此.请参阅:malloc.c,malloc.h.


Car*_*rum 1

malloc()及其相关功能是镇上唯一的游戏。当然,您可以以您选择的任何方式推出自己的内存管理系统。