您的位置:首页 > 其它

关于使用MFC DLL时提示内存泄漏问题

2017-08-22 10:41 597 查看
      这两天按照之前的习惯,在开发过程中使用调试模式运行的时候,发现有意料之外的内存泄漏问题。经过不断的核查定位,最终发现是在使用FreeLibrary函数卸载自己写的一个MFC DLL之后报的内存泄漏。然后又Review了好几遍,十分确定自己的代码没有问题!然后注释了一对代码,发现就算只用了LoadLibrary和FreeLibrary也一样会报内存泄漏。然后找了一下调用MFC DLL内存泄漏相关问题的解决方案,什么取消使用共享的DLL中使用MFC,改预定义、依赖库等等,都没有解决问题。最后只能先测试其他功能。。。

      后面跑着跑着,突然报mfc140ud.dll内存访问错误,突然灵光一现,想说会不会是字符集编码导致的问题!!然后核对了一下MFC DLL和Exe项目的设置。果然,一个设成多字节字符集,一个设成了unicode字符集。。。然后改了一下字符集设置,果然就不报内存泄漏了

      本来字符集应该不影响程序功能的,但是VC中不同字符集所依赖的mfc运行时库是不一样的,估计是运行时库冲突导致的问题吧。因为我其他不使用MFC库的DLL也是使用的多字节字符集,但是并不会导致这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内存泄露 MFC DLL
相关文章推荐