动态内存管理
少于1分钟
说明
- XWOS不使用Newlib提供的动态内存管理的算法。使用的是内存池算法:
移植方法
- 重写Newlib的函数:
void * _malloc_r(struct _reent * r, size_t n);
void * _realloc_r(struct _reent * r, void * p, size_t n);
void * _calloc_r(struct _reent * r, size_t elem_nr, size_t elem_sz);
void * _memalign_r(struct _reent * r, size_t alignment, size_t n);
void * _valloc_r(struct _reent * r, size_t n);
void * _pvalloc_r(struct _reent * r, size_t n);
void _free_r(struct _reent * r, void * p);
-
源码路径:
xwmd/libc/newlibac/mem.c
-
还没实现的函数:
mallopt
malloc_usable_size
malloc_stats
mallinfo