如何解决内存泄漏问题

 我来答
用q户名
2016-07-31 · 知道合伙人数码行家
用q户名
知道合伙人数码行家
采纳数:56269 获赞数:150465
我最然懂的不多,但是我愿用全力来帮助大家。如果有不周到之处,还望大家海涵!

向TA提问 私信TA
展开全部
  第一,良好的编码习惯,尽量在涉及内存的程序段,检测出内存泄露。当程式稳定之后,在来检测内存泄露时,无疑增加了排除的困难和复杂度。
  使用了内存分配的函数,要记得要使用其想用的函数释放掉,一旦使用完毕。
  Heap memory:
  malloc\realloc ------ free
  new \new[] ---------- delete \delete[]
  GlobalAlloc------------GlobalFree
  要特别注意数组对象的内存泄漏
  MyPointEX *pointArray =new MyPointEX [100];
  其删除形式为:
  delete []pointArray
  Resource Leak :对于系统资源使用之前要仔细看起使用方法,防止错误使用或者忘记释放掉系统资源。
  我们看MSDN上一个创建字体的例子:
  RECT rect;
  HBRUSH hBrush;
  FONT hFont;
  hdc = BeginPaint(hWnd, &ps);
  hFont = reateFont(48,0,0,0,FW_DONTCARE,FALSE,TRUE,FALSE,DEFAULT_CHARSET,OUT_OUTLINE_PRECIS, CLIP_DEFAULT_PRECIS,CLEARTYPE_QUALITY, VARIABLE_PITCH,TEXT(“Impact”));
  SelectObject(hdc, hFont);
  SetRect(&rect, 100,100,700,200);
  SetTextColor(hdc, RGB(255,0,0));
  DrawText(hdc, TEXT(“Drawing Text with Impact”), -1,&rect, DT_NOCLIP); DeleteObject(hFont);
  EndPaint(hWnd, &ps);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式