基本思想:继续回顾valgrind的内存释放的理论和方法;
#include<iostream>
#include<malloc.h>
using namespace std;
char* getSpace()
{
char *p = (char *)malloc(30);
return p;
}
int main()
{
char *p = getSpace();
if(NULL!=p)
{ free(p);
p=NULL;
}
return 0;
}
valgrind释放内存:
ubuntu@ubuntu:~/Downloads$ G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=memcheck --leak-check=full --leak-resolution=high --num-callers=20 --show-reachable=yes --log-file=a.log ./a.out
ubuntu@ubuntu:~/Downloads$ cat a.log
==13038== Memcheck, a memory error detector
==13038== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.