首页 > 代码库 > opencv + mfc 引起的内存泄漏

opencv + mfc 引起的内存泄漏

之前一直用win32写opencv 的程序,没有任何内存泄漏,然后改需求,要求用把这个win32的exe做成dll,瞬间麻烦大了,各种内存泄漏,从网上查了一下,大体上是opencv 和mfc的机制不同,导致opencv的内存泄漏,网上给了两种解决方案

1、将mfc改成静态库使用   (程序里面引用opencv的dll,验证没有任何内存泄漏,就算你动态创建了各种指针不释放,最后也不会出现内存泄漏,难道是opencv自己给释放的?)

2、延迟加载dll   (我借用opencv的功能,自己写了个程序,封装成dll,然后延迟加载这个dll后,程序没有内存泄漏了,如果还有内存泄漏,肯定是你程序没有释放各种指针变量)

这两种方法都试过了,都能解决内存泄漏,根据不同的程序,选择不同的解决方式,不过不是很建议用第一种,毕竟搞c++,要掌握好内存的控制和释放,别写不干净的代码

opencv + mfc 引起的内存泄漏