MFC应用程序使用DL​​L时的内存泄漏(误报)

时间:2019-03-19 16:16:36

标签: c++ dll memory-leaks mfc

我开发了一个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项目链接时,不会发生这种情况。

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

    一位VS2013用户说,他可以通过更改 他的MFC项目的字符集。我已经在VS2017中测试过了,但是 仍然收到警告。
  • 一位VS2017用户说,延迟加载时警告已消失 DLL。
  • 在调试过程中,我使用CMake编译了DLL,以便使用尽可能标准的设置。但是没有变化。

0 个答案:

没有答案