RTThread的Libc里的newlib的malloc适配实现的原理是什么?是怎么实现malloc到rt_malloc的重定向的,有大佬能介绍一下吗?
直接调用的 newlib 库,newlib 是一个面向嵌入式系统的 c 运行库,github地址为https://github.com/riscv/riscv-newlib。在该仓库的文件 newlib/libc/stdlib/malloc.c
中定义了 malloc 的实现,如下所示。可以看到 malloc
实际调用的是 _malloc_r
也就是你提问中图片中的内容。
补充一下工程默认链接了一个 C 库,如下所示: