标签:使用 sp c 代码 c++ bs 程序 不同的 方法
之前一直用win32写opencv 的程序,没有任何内存泄漏,然后改需求,要求用把这个win32的exe做成dll,瞬间麻烦大了,各种内存泄漏,从网上查了一下,大体上是opencv 和mfc的机制不同,导致opencv的内存泄漏,网上给了两种解决方案
1、将mfc改成静态库使用 (程序里面引用opencv的dll,验证没有任何内存泄漏,就算你动态创建了各种指针不释放,最后也不会出现内存泄漏,难道是opencv自己给释放的?)
2、延迟加载dll (我借用opencv的功能,自己写了个程序,封装成dll,然后延迟加载这个dll后,程序没有内存泄漏了,如果还有内存泄漏,肯定是你程序没有释放各种指针变量)
这两种方法都试过了,都能解决内存泄漏,根据不同的程序,选择不同的解决方式,不过不是很建议用第一种,毕竟搞c++,要掌握好内存的控制和释放,别写不干净的代码
标签:使用 sp c 代码 c++ bs 程序 不同的 方法
原文地址:http://www.cnblogs.com/xiaxia179/p/4000220.html