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

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

2013-02-04 
内存泄露代码(C/C++)要用不同测试方法来测试内存泄露,但是现在需要以上三个不同的C代码,有高人帮我编遍(C/

内存泄露代码(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次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!

热点排行