首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存泄漏还是内存碎片?

问内存泄漏还是内存碎片?
EN

Stack Overflow用户
提问于 2013-09-20 09:05:54
回答 1查看 1.1K关注 0票数 2

我正在运行Borland C++ 6中的代码,可以看到内存中的程序(私有工作集)、Windows使用的内存越来越多,我认为这是内存泄漏。

代码语言:javascript
复制
for (int i = 0; i < 100000; i++)
{      
   try {
     int n = 0;
     int r = 1 / n; //division by zero
   }
   catch (EDivByZero& e) {}
}

我尝试用FASTMM4替换Builder FASTMM4的默认内存管理器,但是看到了相同的行为。是因为内存泄漏还是内存碎片,因为我混淆了两者之间的关系。我认为在这两种情况下,程序必须将虚拟内存分页到磁盘,从而增加使用的内存。

查看虚拟内存是区分泄漏和碎片的好主意,但我如何才能做到呢?windows中有测试它的工具吗?

EN

回答 1

Stack Overflow用户

发布于 2013-09-20 09:08:18

“增加内存程序(私有工作集)使用的内存,Windows任务管理器,我认为这是内存泄漏。”--这是错误的

当您在程序中释放内存时,它将被释放回您的程序,而不是释放到O/S。只有在程序退出时,才会将内存释放给O/S。

注-这只是典型的行为,C++没有明确地提到这一点,YMMV。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18912823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档