51中使用malloc如何定义内存边界
有个问题想问一下大家:
在keilc\C51\LIB里的malloc.c不知道大家看过没有?里面有这样一些定义:
extern __memt__ _MALLOC_MEM_ __mem_avail__ [];
根据后面的代码,我觉得__mem_avail__ []应该是代表内存边界,但在这里定义的是一个外部变量,不知道它到底的范围是多少?是不是从0x0000开始的地址?或者是从设置里可以设置?
因为我最近要做的一个项目中,希望在内存动态分配时,能跳过一些地址(这些地址用作其它器件连接用)。非常希望大家不吝赐教。
我曾经看过一个程序,里面作者非常强,重写了一个malloc函数,他直接定义了一个地址从0x2000开始的2k数组,然后通过一个双向链表实现malloc,如果没有别的办法,看来我也只能重写了,