gpt4 book ai didi

resources - 操作系统;资源自动清理

转载 作者:行者123 更新时间:2023-12-03 08:13:01 25 4
gpt4 key购买 nike

从这个答案:When is a C++ terminate handler the Right Thing(TM)?

当应用程序退出时,有一个"is"和“不是”由操作系统自动清理的资源列表会很好。在您的回答中,如果您可以指定操作系统/资源并且最好是指向某个文档的链接(如果合适),那就太好了。

最明显的一个:

内存:是的,自动清理。
问题。有什么异常(exception)吗?

最佳答案

当应用程序崩溃或退出而没有明确释放它们时,Windows 不会清理一些晦涩的资源,主要是因为操作系统不知道它们是否重要。

  • 临时文件——正如其他人所提到的。
  • 全局注册WNDCLASS es ("卸载 DLL 时,不会取消注册 DLL 注册的窗口类。卸载时,DLL 必须显式取消注册其类。"MSDN ) 如果您的全局窗口类也有一个类 DC,那么该 DC 将泄漏为好。
  • 全局 ATOM s(相对有限的资源)。
  • 使用 RegisterWindowMessage 创建的窗口消息 ID .这些旨在泄漏,因为没有 UnregisterWindowMessage .
  • 信号量和事件在技术上没有泄漏,但是当拥有的应用程序在没有发出信号的情况下消失时,其他进程可能会挂起。对于互斥锁来说,情况并非如此。如果拥有的应用程序消失,则等待该 Mutex 的其他进程将被释放。
  • 如果您不取消注册 hot key,则在 Windows XP 和更早版本上可能会有一些残留的怪异现象。在退出之前。其他应用程序可能无法注册相同的热键。
  • 在 Windows XP 和更早版本上,在进程崩溃后出现僵尸控制台窗口的情况并不少见。 (特别是一个还创建控制台窗口的 GUI 应用程序。)它显示在任务栏上。您所能做的就是最小化、恢复或移动窗口。
  • 有缺陷的驱动程序可能会因退出时未明确释放资源的应用程序而加剧。非分页池泄漏相当普遍。
  • 数据复制到剪贴板。我想这并不算数,因为它当时归操作系统所有,而不是放置它的应用程序。
  • 当安装过程在移除钩子(Hook)之前崩溃时,不会卸载全局安装的钩子(Hook)。
  • 关于resources - 操作系统;资源自动清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1060160/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com