读书人

内存储器泄露代码(C/C++)

发布时间: 2013-02-04 10:50:21 作者: rapoo

内存泄露代码(C/C++)
内存储器泄露代码(C/C++)

要用不同测试方法来测试内存泄露,但是现在需要以上三个不同的C代码,有高人帮我编遍(C/C++语言)。谢了.
delete p;
}

2和3就不写了

[解决办法]
1) for ( int i = 0 ; i < 10000 ; i ++ )
{
A *a = new A();
usleep(1000*1000);
delete a;
}

2) vector<A*> memoryList;
memoryList.clear();
for ( int i = 0 ; i < 10000; i ++ )
{
A *a = new A();
ASSERT(a != 0);
memoryList.push_back(a);
usleep(1000*1000);
}
int listSize = memoryList.size();
for ( int i = 0 ; i < listSize ; i ++ )
{
A *buffer = memoryList[i];
delete buffer;
}
[解决办法]
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!

读书人网 >C++

热点推荐