电子说
内存泄露(Memory leak)指的是,在程序中动态申请的内存,在使用完后既没有释放,又无法被程序的其他部分访问。内存泄露是在开发大型程序中最令人头疼的问题,以至于有人说,内存泄露是无法避免的。其实不然,防止内存泄露要从良好的编程习惯做起,另外重要的一点就是要加强单元测试(Unit Test),而valgrind就是这样一款优秀的工具。
(1):程序发生内存泄露的条件及各种情况:
a: 内存申请忘记释放(malloc,free();new,delete);
b:申请内存大小不正确((char*)malloc(0));
c:free()函数使用不正确(int a[];free(a)释放了栈区参数);
d:一段内存释放多次(1个malloc,多个free());
(2):检测程序是否发生内存泄露:
方法有二:
a:模仿用户长时间使用设备;
b:针对某个具体的测试用例。
全部0条评论
快来发表一下你的评论吧 !