| 123456789101112131415161718192021222324252627282930313233343536373839 |
- /************************************************************************
- * AUTHOR: NiuJiuRu
- * FILENAME: swheap.c
- * DESCRIPTION: 可分块/可跟踪内存泄漏位置的内存管理全局堆
- * NOTE:
- * HISTORY:
- * 1, [2010-09-27] created by NiuJiuRu
- ***********************************************************************/
- #include "swapi.h"
- #include "swmem.h"
- // 内存管理模块的全局堆
- void *g_hSwHeap = NULL;
- /* 初试化内存管理模块的全局堆, align = 1, 2, 4, 8, 16, ... */
- bool sw_heap_init(char *buf, int size, int align)
- {
- g_hSwHeap = sw_mem_create(buf, size, align);
- return (g_hSwHeap != NULL);
- }
- /* 释放内存管理模块的全局堆 */
- void sw_heap_exit()
- {
- sw_mem_destroy(g_hSwHeap);
- g_hSwHeap = NULL;
- }
- /* 检查全局堆的内存使用情况, 并返回历史上最大消耗过的内存数 */
- int sw_heap_check(PMemCheckCallback proc, void *lpParameter)
- {
- return sw_mem_check(g_hSwHeap, proc, lpParameter);
- }
- /* 获得全局堆总的内存大小 */
- int sw_heap_getTotalSize()
- {
- return sw_mem_getTotalSize(g_hSwHeap);
- }
|