我的程序一起动,内存消耗极大--16M,
且长时间运行,似乎在缓慢增长,蚕食内存--蠕虫病毒!!!???除了new()\delete(),mallocate\free()外,
还有什么可能about mem,得注意查一下?120分---的----感谢!!!

解决方案 »

  1.   

    原因太多了,类中有没有指针成员?如果有,写没写拷贝构造函数?建议看一下《effective C++》!
      

  2.   

    很多Windows API调用也会占用内存,而且是内核内存!
      

  3.   

    可能是内核对象没有释放
    如HDC,HBRUSH,HTHREAD等凡是用句柄来操作的东西。
    有些自动free有些要用CloseHandle,DeletObject等
      

  4.   

    把过多的对象定义成全局或类中全局的变量就会加大内存占用。
    尽量使用局部变量,在函数中随时new,随时delete,
    注意在类的析构函数中delete对象。方能释放内存。这不是什么病毒。乃弱智程序而已。
      

  5.   

    源码太大。
    已查过全局变量,句柄
    程序里有一个始终运行的Timer--0.5s,且每0。5秒追加链表CListObject,
    记录数据,
    但我觉得这个连表追加所增长的内存,应该很小,不至于增长这么快(大)!?
      

  6.   

    未必是你的程序的原因,如果他在正常窗口下面显示的时候占用内存从16m缓慢长到20m,现在你把他最小化,然后恢复,如果占用内存又回到了16m左右(反之亦然),则可以判断占用的大部分都是windows的虚拟内存,这没什么不可以的,至于其他的代码是否有泄漏的,得分析程序了。
      

  7.   

    你的程序中是否有类似Sleep()的时间函数
    有可能造成时间嵌套!
    (仅供参考)