多线程程序在Vista下遭遇异常。

来源:百度知道 编辑:UC知道 时间:2024/06/08 17:57:08
开发平台是XP+Visual C++ 2008,程序静态链接MFC类库,有多个线程,是一个正规程序,不是开发的病毒。

开发完成以后在开发机上进行测试,让它在机器上长时间运行,起码跑了8个小时,结果正常,CPU使用率保持在百分之十几左右。移到Windows Vista操作系统以后,异常出现。

在Vista环境下,程序刚启动的一段时间里面,CPU使用率同样保持在百分之十几左右。但随着时间的推移,CPU占用率越来越高,一直到百分之九十几,连退出屏幕保护程序都要花去至少20秒钟的时间,系统资源似乎被耗尽,要启动其他程序都不可能。甚至连进程退出后操作系统都无法正常工作,速度非常非常慢。任务管理器显示内存使用量一直没变,不大认为有内存泄漏。

那么问题在哪里?
我的程序就是发布版的,从Release文件夹里面拷出来的,编译没有任何问题。

很巧,恰好也是静态连接的。

开发机和测试机都是管理员权限。

问题在于你的程序是调试版(Debug Version)的,不是发布版的.
调试版的程序在编程机器上运行,受VC环境的支持,没有问题.但放到没有装VC的机器上去运行,就暴露出问题了.
说到底还是你程序问题.
你在VC里把它以发布版(Release Version)的方式编译一次看看.就会发现问题
_________
是不是使用过和管理员权限有关的函数,在XP下可以获得用户权限的API到VISTA下可能就没有作用.你用vista的时候是用的guest权限,还是administator权限或从属administrator权限登陆的呢?

编译使用静态连接试试!!