本文共 589 字,大约阅读时间需要 1 分钟。
使用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://hlnws.baihongyu.com/