CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  Visual C++ 资源

在开发的应用程序中,关于节省和释放内存资源应注意那些问题?

楼主wangyugood()2001-03-11 11:56:00 在 VC/MFC / Visual C++ 资源 提问

比如绘图时应注意的问题,  
  合理建立数组等方面问题  
  及其解决方法 问题点数:30、回复次数:4Top

1 楼iProgram(na)回复于 2001-03-11 12:10:00 得分 0

careTop

2 楼edyang(化石)回复于 2001-03-11 12:37:00 得分 20

开发文当中有一篇关于资源释放的文章,可能不太好找,就是下面的:  
   
  Resource                 Allocation   Routine                 Cleanup   Routine             Cleanup   Required?  
  ================================================================================  
   
  Accelerators         LoadAccelerators                     N/A                                     No  
   
  Atoms                       GlobalAddAtom                           GlobalFreeAtom               Yes  
   
  Bitmaps                   CreateBitmap                             DeleteObject                   Yes   *  
                                  CreateBitmapIndirect             DeleteObject                   Yes   *  
                                  CreateCompatibleBitmap         DeleteObject                   Yes   *  
                                  CreateDIBitmap                         DeleteObject                   Yes   *  
                                  CreateDiscardableBitmap       DeleteObject                   Yes   *  
                                  LoadBitmap                                 DeleteObject                   Yes   *  
   
  Brushes                   CreateBrushIndirect               DeleteObject                   Yes  
                                  CreateDIBPatternBrush           DeleteObject                   Yes  
                                  CreateHatchBrush                     DeleteObject                   Yes  
                                  CreatePatternBrush                 DeleteObject                   Yes  
                                  CreateSolidBrush                     DeleteObject                   Yes  
   
  Carets                     CreateCaret                               DestroyCaret                   No     #  
   
  Clipboard               OpenClipboard                           CloseClipboard               Yes  
   
  Comms   Ports           OpenComm                                     CloseComm                         Yes  
   
  Cursor                     CreateCursor                             DestroyCursor                 Yes  
                                  LoadCursor                                 N/A                                     No  
   
  DC                             CreateDC                                     DeleteDC                           Yes  
                                  CreateCompatibleDC                 DeleteDC                           Yes   @  
                                  GetDC                                           ReleaseDC                         Yes  
                                  GetWindowDC                               ReleaseDC                         Yes  
                                  BeginPaint                                 EndPaint                           Yes  
   
  Dialog   Box             CreateDialog                             DestroyWindow                 No  
                                  CreateDialogIndirect             DestroyWindow                 No  
                                  CreateDialogIndirectParam   DestroyWindow                 No  
                                  CreateDialogParam                   DestroyWindow                 No  
   
  File                         OpenFile                                     _lclose                             No  
   
  Fonts                       CreateFont                                 DeleteObject                   Yes  
                                  CreateFontIndirect                 DeleteObject                   Yes  
                                  AddFontResource                       RemoveFontResource       Yes  
   
  GDI   Stock   Obj       GetStockObject                         N/A                                     No     &  
   
  Hook                         SetWindowsHook                         UnhookWindowsHook         Yes  
   
  IC                             CreateIC                                     DeleteDC                           Yes  
   
  Icon                         CreateIcon                                 DestroyIcon                     Yes  
                                  LoadIcon                                     N/A                                     No  
   
  Library                   LoadLibrary                               FreeLibrary                     Yes  
   
  Memory                     AllocDStoCSAlias                     FreeSelector                   Yes  
                                  AllocSelector                           FreeSelector                   Yes  
                                  GlobalAlloc                               GlobalFree                       No  
                                  GlobalDOSAlloc                         GlobalDOSFr                     No  
                                  GlobalFix                                   GlobalUnfix                     No  
                                  GlobalLock                                 GlobalUnlock                   No  
                                  GlobalPageLock                         GlobalPageUnlock           No  
                                  GlobalRealloc                           GlobalFree                       No  
                                  GlobalWire                                 GlobalUnwire                   No  
                                  LocalAlloc                                 LocalFree                         No  
                                  LocalLock                                   LocalUnlock                     No  
                                  LocalRealloc                             LocalFree                         No  
   
  Menu                         CreateMenu                                 DestroyMenu                     No     %  
                                  CreatePopupMenu                       DestroyMenu                     No     %  
                                  LoadMenu                                     DestroyMenu                     No     %  
                                  LoadMenuIndirect                     DestroyMenu                     No     %  
                                  GetSystemMenu                           N/A                                     No  
   
  MetaFile                 CreateMetaFile                         DeleteMetaFile               Yes  
   
  Palette                   CreatePalette                           DeleteObject                   Yes  
   
  Pen                           CreatePen                                   DeleteObject                   Yes  
                                  CreatePenIndirect                   DeleteObject                   Yes  
   
  Regions                   CreateEllipticRgn                   DeleteObject                   Yes  
                                  CreateEllipticRgnIndirect   DeleteObject                   Yes  
                                  CreatePolygonRgn                     DeleteObject                   Yes  
                                  CreatePolyPolygonRgn             DeleteObject                   Yes  
                                  CreateRectRgn                           DeleteObject                   Yes  
                                  CreateRectRgnIndirect           DeleteObject                   Yes  
                                  CreateRoundRectRgn                 DeleteObject                   Yes  
   
  Resource                 AllocResource                           FreeResource                   No  
                                  FindResource                             N/A                                     No  
                                  LoadResource                             FreeResource                   No  
                                  LockResource                             UnlockResource               No  
   
  Sound                       OpenSound                                   CloseSound                       Yes  
   
  String                     LoadString                                 N/A                                     No  
   
  Thunk                       MakeProcInstance                     FreeProcInstance           No  
   
  Timer                       SetTimer                                     KillTimer                         No  
   
  Window                     CreateWindow                             DestroyWindow                 No  
                                  CreateWindowEx                         DestroyWindow                 No  
   
   
  Notes:  
  ------  
  *       Bitmaps   must   be   disconnected   from   a   DC   before   being   freed.  
  %       Menus   must   be   freed   before   an   application   exits   if   the   menu   is   not  
          connected   to   any   window.  
  @       A   DC   must   be   disconnected   from   bitmaps   before   being   freed.  
  #       If   a   bitmap   is   specified   for   the   Caret,   it   must   be   freed.  
  &       Calls   to   DeleteObject   do   not   harm   stock   objects.  
  Top

3 楼farland()回复于 2001-03-11 16:23:00 得分 10

绘图时使用了设备上下文对象,注意随时释放(查msdn)。  
  对于数组使用,动态创建时避免造成“内存碎片”,分配大小时按某一常数的倍数分配。  
  Top

4 楼ddddh(叶君临)回复于 2001-03-11 16:52:00 得分 0

总而言之,   要小心使用.  
   
  申请之后一定要释放,   同时尽量不要少吃多餐,   反过来比较好:)Top

相关问题

  • 怎样释放mdi主应用程序的内存??
  • JAVA应用程序的内存释放问题????????
  • 我们编写应用程序完成以后,如何监视应用程序使用的内存是否完全释放。
  • Form窗体关闭了,但是应用程序内存未释放,怎么办(在线等待,马上给分)
  • 请问:在DSHOW应用程序中,内存的分配、释放是怎么实现的?是不是销毁了filter graph,内存就释放了啊????????
  • 求救!我在DLL里申请的一块内存,为什么在应用程序里释放就会报异常错误???
  • 请问在VB中如何彻底的结束应用程序,在按退出或关闭按钮时该程序结束并释放内存?
  • 应用程序在退出后仍然在内存中?
  • Access数据库应用程序的内存不足问题
  • 如何在多个应用程序之间共享内存?

关键词

  • deleteobject yes
  • 释放
  • 问题

得分解答快速导航

  • 帖主:wangyugood
  • edyang
  • farland

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo