更改malloc函数分配空间

时间:2015-03-13 07:40:02

标签: c++ memory-management

有没有办法改变malloc分配内存空间的位置?

举一个例子,假设我想要malloc在0x100000和0x500000内分配内存。我怎么能这样做,或者有没有办法解决这个问题而不改变malloc实现?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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