简体   繁体   English

更改malloc函数分配空间

[英]Changing malloc function allocation space

Is there a way to change where malloc allocate memory space? 有没有办法改变malloc在哪里分配内存空间?

For an example, let's say I want malloc to allocate memory within 0x100000 and 0x500000. 例如,假设我希望malloc在0x100000和0x500000之间分配内存。 How can I do this or is there a way for this without changing the malloc implementation? 我该怎么做,或者有没有改变malloc实现的方法?

您可能无法更改标准malloc调用的行为(除了通过LD_PRELOAD之类的运行时替换之外),但是对于某些平台,可以使用带有mmap函数调用的特定地址来编写自己的(单独的)内存分配器。

使用malloc在堆上分配内存。如果您的问题与嵌入式软件有关,则通常可以在启动文件或链接器配置文件中更改堆的起始地址,大小和其他参数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM