gpt4 book ai didi

c - C 中 malloc() 的替代方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:26:38 26 4
gpt4 key购买 nike

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

最佳答案

通常 malloc()在 Unix 上使用 <a href="http://www.manpagez.com/man/2/sbrk/" rel="noreferrer noopener nofollow">sbrk()</a> 实现或 <a href="http://www.manpagez.com/man/2/mmap/" rel="noreferrer noopener nofollow">mmap()</a> . (如果使用后者,则需要使用 MAP_ANON 标志。)

如果您的目标是 Windows,<a href="http://msdn.microsoft.com/en-us/library/aa366887(VS.85).aspx" rel="noreferrer noopener nofollow">VirtualAlloc</a>可能有帮助。 (或多或少在功能上等同于匿名 mmap()。)

更新: 没有意识到您没有在完整的操作系统下运行,我以某种方式得到的印象是这可能是在 Unix 系统或其他系统上运行的家庭作业。 .

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

几乎每个人都借用的标准是由 Doug Lea at SUNY Oswego 编写的.比如glibc的malloc就是基于这个。请参阅:malloc.c , malloc.h .

关于c - C 中 malloc() 的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241006/

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