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

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

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

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
不会,除非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.
2006-9-12 01:03
0
雪    币: 0
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢,除了DLL的global data,下面这样会不会有问题呢?

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