首页 > 解决方案 > MFC 应用程序使用 DLL 时的内存泄漏(误报)

问题描述

我开发了一个 C++ 库 (DLL)。当我创建一个与此 DLL 链接的最小 MFC 项目(VS2017)时,它没问题。但是,只要 MFC 应用程序使用该库的任何函数,MFC 项目的调试器就会抱怨内存泄漏(许多行如下所示):

Detected memory leaks!
Dumping objects ->
{2255} normal block at 0x000002A4B1F8C360, 48 bytes long.
 Data: <                > 10 BB F8 B1 A4 02 00 00 B0 BD F8 B1 A4 02 00 00 
{2242} normal block at 0x000002A4B1F8BDB0, 48 bytes long.
 Data: <                > C0 C0 F8 B1 A4 02 00 00 F0 C2 F8 B1 A4 02 00 00 
{2220} normal block at 0x000002A4B1F8C2F0, 48 bytes long.
 Data: <                > 80 C2 F8 B1 A4 02 00 00 10 C9 F8 B1 A4 02 00 00 

这些都是误报,因为它也会在仅调用库的空测试函数时发生。此外,当库与非 MFC 项目链接时,不会发生这种情况。

什么会导致这些警告?相关信息:

标签: c++dllmemory-leaksmfc

解决方案


推荐阅读