首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

调试程序测试malloc 跟 free是否配对

2013-10-19 
调试程序测试malloc 和 free是否配对#include stdio.h#include stdlib.h void * debug_malloc(size_t

调试程序测试malloc 和 free是否配对

#include <stdio.h>#include <stdlib.h> void * debug_malloc(size_t size, const char *file, int line, const char *func){         void *p;         p = malloc(size);     printf("%s:%d:%s:malloc(%ld): p=0x%lx\n", file, line, func, size, (unsigned long)p);return p; }#define malloc(s) debug_malloc(s, __FILE__, __LINE__, __func__) 
#define free(p)  do {        \          printf("%s:%d:%s:free(0x%lx)\n", __FILE__, __LINE__,            \          __func__, (unsigned long)p);         \             free(p);                  \ } while (0) intmain(int argc, char *argv[]){         char *p;         p = malloc(1024);         free(p);         return 0;}


 [root@localhost test]# gcc mallo_free.c
[root@localhost test]# ./a.out
mallo_free.c:19:main:malloc(1024): p=0x2575010
mallo_free.c:20:main:free(0x2575010)

热点排行