赞
踩
对于嵌入式开发来说,内存管理及使用是至关重要的,内存的使用多少、内存泄漏等时刻需要注意!合理的内存管理策略将从根本上决定内存分配和回收效率,最终决定系统的整体性能。LwIP 就提供了 动态内存堆管理(heap)和 动态内存池管理(pool)两种简单却又高效的动态内存管理机制。
目前,网络上多数文章所使用的 LwIP 版本为 1.4.1。最新版本为 2.0.3。从 1.4.1 到 2.0.3(貌似从 2.0.0 开始),LwIP 的源码有了一定的变化,甚至于源码的文件结构也不一样,内部的一些实现源文件也被更新和替换了。
LwIP 为了能够灵活的使用内存,为使用者提供两种简单却又高效的动态内存管理机制:动态内存堆管理(heap)和动态内存池管理(pool) 。这两中内存管理策略的实现分别对应着源码文件 mem.c/h
和memp.c/h
。
LwIP 在自己的内存堆和内存池具体实现上也比较灵活。内存池可有由内存堆实现,通过宏值 MEMP_MEM_MALLOC
来选择;反之,内存堆也可以有内存池实现,通过宏值 MEM_USE_POOLS
来选择,且二者只能选择其一。
其中,动态内存堆管理(heap)又可以分为两种: C 运行时库自带的内存分配策略、LwIP自己实现的内存堆分配策略。这两者的选择需要通过宏值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。