动态内存管理

说明

  • 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