evc的内存泄露?虽然有人问过,还希望大家帮帮我!急

mary1021897 2007-07-17 11:14:16
用evc编写了应用程序放在终端pc104上。建立了多个线程还有数据库操作。长时间运行后出现死机现象。大虾们认为是不是内存泄露?怎样检测evc中的内存泄露?


我看了很多内存泄露的帖,都说会在new和delete不匹配时发生。但是我很少用new和delete。一般都直接建立了数组,例如int a[100];操作完后数组置空。
是不是程序结束后这些数组都不会自己释放?



谢谢!希望大家帮忙
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mary1021897 2007-07-18
  • 打赏
  • 举报
回复
虽然问题还没有解决,还是先把帖给结了
liuxiuk 2007-07-17
  • 打赏
  • 举报
回复
数组是静态的数据..
程序执行完了
它就被释放了 //动态的不行

--------
只能单步跟踪...
lyg_zy 2007-07-17
  • 打赏
  • 举报
回复
int a[100];这个不需要释放
是不是GDI资源泄露?
mary1021897 2007-07-17
  • 打赏
  • 举报
回复
我用的全局变量确实比较多,再改一下试试。
谢谢大家!

我开了四个线程,不断运行。线程负责串口收数。每隔一定时间大概5分钟,对数据库进行一次操作。
pc104内存128M,主频233HZ吧!运行这样的程序用这样的配置是否会太低?

先不结帖,可能还有问题,最后肯定给分!
emptyness 2007-07-17
  • 打赏
  • 举报
回复
帮你UP。。只要你没主动new 什么 malloc什么 应该不会有大的泄露。
正常的变量是栈区的 自己会释放,不管;
线程多的时候,假如这些线程都耗CPU 就会造成CPU很多时间浪费在交换线程上,降低性能;
另外你使用了数据库连接;不知道你是简单的连,还是频繁使用,注意关闭连接和一些容易疏漏的地方,可以百度下要点。

另外程序退出后,OS会清空它的内存,这个是肯定不会泄露的,呵呵。程序退出了就什么都没了,这个请放心。

另外判断是不是内存泄露,你可以打开任务管理器 密切注意程序的运行过程,如果程序的内存很大,而且成长过程是一直缓慢增加的,那应该小有可能。如果是很稳定的变高,再变低。
如果耗内存很少,那就完全是CPU性能不够 或者程序写的让CPU太累 的问题
WindAndSnow 2007-07-17
  • 打赏
  • 举报
回复
你写的树组会自己释放,但不要太多全局树组,会造成效率低下
WindAndSnow 2007-07-17
  • 打赏
  • 举报
回复
你说的死机问题可能是配置低,如果读很多数据就非常慢,甚至死机

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧