首页
社区
课程
招聘
用任务管理器结束任务多半会引起内存泄漏是吗?[讨论]
2006-9-11 23:04 4208

用任务管理器结束任务多半会引起内存泄漏是吗?[讨论]

2006-9-11 23:04
4208
我平时打游戏(比如魔兽 cs)时候想退出了 都用Ctel+Alt+Del打开任务管理器然后结束游戏进程的,那样比较快。今天看c++Primer才知道,这样基本多多少少会造成内存泄漏是吗?解决的方法只有重启机器了?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
drwch 3 2006-9-12 01:03
2
0
不会,除非WINDOWS的内存管理器有BUG
只有DLL与全局数据可能驻留内存

Remarks

The TerminateProcess function is used to unconditionally cause a process to exit. Use it only in extreme circumstances. The state of global data maintained by dynamic-link libraries (DLLs) may be compromised if TerminateProcess is used rather than ExitProcess.
TerminateProcess causes all threads within a process to terminate, and causes a process to exit, but DLLs attached to the process are not notified that the process is terminating.
雪    币: 194
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
aj3423 2 2006-9-12 13:18
3
0
谢谢,除了DLL的global data,下面这样会不会有问题呢?

一个程序:
int main(){
  int * pn = new int;
  Sleep(10*1000);
  delete pn;
}
当这个程序运行到Sleep的时候用任务管理器结束进程,会造成内存泄漏吗?
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
drwch 3 2006-9-12 14:13
4
0
这个当然不会
雪    币: 194
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
aj3423 2 2006-9-12 15:43
5
0
呵呵 那我就放心了
雪    币: 139
活跃值: (111)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bookworm 3 2006-9-12 23:21
6
0
但是肯定会有handle leak
游客
登录 | 注册 方可回帖
返回