【问题标题】:Can one cause problems by prematurely releasing a Windows GDI object?过早释放 Windows GDI 对象会导致问题吗?
【发布时间】:2020-12-28 10:14:07
【问题描述】:

过早释放 Windows GDI 对象会导致问题吗?使用内存可以过早地删除/释放缓冲区并确实导致非常严重的问题。 GDI怎么样?过早释放 GDI 对象会导致崩溃或 UI 绘制问题吗?

【问题讨论】:

  • 崩溃?非常非常不可能。绘画问题?非常非常有可能。

标签: c++ windows gdi resource-leak


【解决方案1】:

您不能删除当前选择到任何设备上下文 (DC) 中的 GDI 对象:https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-deleteobject

删除对象后,其句柄无效,无法将其选中进入DC。

你还有什么其他的想法?

【讨论】:

  • 谢谢。我没有想到任何具体的场景,我只是好奇这是否是一个必须注意的现实危险。我正在调试别人写的一个 20 年前的程序,我还在学习这个程序中 GDI 对象在哪里分配和释放。
猜你喜欢
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多