首页 > 试题广场 >

以下哪些情况会引起资源泄露?

[不定项选择题]
以下哪些情况会引起资源泄露【多选】( )
  • 创建一个mutex,不关闭句柄而关闭进程
  • 分配栈上的内存,而不释放
  • Queryinterface得到com对象指针,不释放
  • 获取桌面的DC,不需要释放
推荐
CD
【解析】
A 关闭进程时操作系统会自动关闭进程所拥有的系统资源
B 退出当前函数时,栈上的内存会自动释放
C 调用Queryinterface得到的指针,使用完后需要调用Release释放
http://support.microsoft.com/kb/264295/en-us
D 获取的DC需要释放
编辑于 2015-10-08 09:15:06 回复(0)
DC(device context)叫设备环境或者设备描述表,它其实是GDI内部保存数据的一种数据结构。此结构中的属性内容与特定的输出设备(显示器、打印机等)相关,属性定义了GDI函数的工作细节。 
总之,你要使用GDI绘图函数,就需要一个DC句柄。
MFC中把和DC相关的都封装成类。CDC是一个抽象基类,可以访问整个显示器和打印机等。CClientDC类和窗口客户区关联,能用于显示客户区相关内容。
发表于 2017-08-17 08:45:52 回复(0)