/************************************************************************ * 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); }