本文主要是介绍使用OpenCv库的MFC程序在退出后报内存泄露 可能解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用OpenCv库的MFC程序在退出后报内存泄露 可能解决方法:
使用OpenCv库(2.0和2.1,其他版本不清楚)后,检查程序没有存在内存泄露语句,而在退出程序后输出窗口内容类似下面。
Detected memoryleaks!
Dumping objects ->
{248} normal block at 0x003CE808, 47 bytes long.
Data: <JPEG-2000 Code S> 4A 50 45 47 2D 32 30 30 30 20 43 6F 64 6520 53
Object dump complete.
程序“[5008]Last_Projects.exe: 本机”已退出,返回值为 2 (0x2)。
该错误可能是由于OpenCv库引起的。在将项目->项目属性->配置属性->常规,右侧默认值下的MFC的使用改为在静态库中使用 MFC,则可以解决此问题。是否做这样的更改取决于使用者,因为静态MFC会让程序变大,内存空间占用增多,效率降低(内存调度频繁时),特别是在内存紧张的情况下。
因为没有OpenCv的这个BUG是否会造成更大错误,所以慎重使用
该问题的解决来源于和其他人讨论得知。
另附上其他人对Detected memory leaks! 一个解决方法。http://www.cnitblog.com/Hali/archive/2009/11/25/62807.html.
这个方法我试过,不知道是不是我放置问题。没测出问题所在。
这篇关于使用OpenCv库的MFC程序在退出后报内存泄露 可能解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!