【内存管理】简单的分配程序
分配程序的全局变量
分配程序的初始化函数
sbrk()函数,用于动态增加内存空间.
char *sbrk(int incr) incr为增加的字节数.
内存控制块结构
分配程序的释放函数
分配程序的分配函数
指针间的图示效果如下:
mem_alloc_ptr为malloc()函数返回的可用区间指针.
思考点:
1).内存分配的底层编程主要技巧是强制类型的转换,以及一些指针间操作,进行编程实现时,需要画清相应示意图.
2).该方法中,使用4字节来标识内存是否可用,有点浪费.
3).该方法中,内存释放时,没有内存合并,将会产生许多内存碎片.
4).该方法中,内存分配时,在最坏的情况下,需要遍历所有的内存块,效率低下.
参考资料: