博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

2009年9月28日

摘要: 1.内存问题的原因及分类在C/C++程序中,有关内存使用的问题是最难发现和解决的。这些问题可能导致程序莫名其妙地停止、崩溃,或者不断消耗内存直至资源耗尽。由于C/C++语言本身的特质和历史原因,程序员使用内存需要注意的事项较多,而且语言本身也不提供类似Java的垃圾清理机制。编程人员使用一定的工具来查找和调试内存相关问题是十分必要的。总的说来,与内存有关的问题可以分成两类:内存访问错误和内存使用错... 阅读全文

posted @ 2009-09-28 11:27 RUI2021 阅读(1063) 评论(0) 推荐(0) 编辑

摘要: 内存泄漏的定义   一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。以下这段小程序演示了堆内存发生泄... 阅读全文

posted @ 2009-09-28 10:14 RUI2021 阅读(691) 评论(0) 推荐(0) 编辑

摘要: 内存泄漏是编程中常常见到的一个问题,我所遇过的原因有两个: 1.分配完内存后忘记回收2.代码有问题,造成想回收却无法回收,例如:int*p=newint;p=newint;//p指针修改,原来申请内存的地址没有记录下来,于是无法释放下面介绍如何检查内存泄漏:1.包含头文件和定义#define_CRTDBG_MAP_ALLOC//并非绝对需要该语句,但如果有该语句,打印出来的是文件名和行数等更加直观... 阅读全文

posted @ 2009-09-28 10:02 RUI2021 阅读(615) 评论(2) 推荐(0) 编辑