Dll导出对话框导致内存泄露

来源:互联网 发布:万能恢复软件 编辑:程序博客网 时间:2024/06/18 09:20

前几天写了一个dll,可以导出对话框

在另外一个工程里使用此dll时,运行一切正常

退出时,VC提示有内存泄露

 

{483} client block at 0x003A87B0, subtype c0, 64 bytes long.

a CDynLinkLibrary object at $003A87B0, 64 bytes long

a CDynLinkLibrary object at $003A87B0, 64 bytes long

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {478} normal block at 0x003A8628, 22 bytes long.

 Data: <<N x            > 3C 4E A4 78 05 00 00 00 05 00 00 00 01 00 00 00 

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {477} normal block at 0x003A85D0, 22 bytes long.

 Data: <<N x            > 3C 4E A4 78 05 00 00 00 05 00 00 00 01 00 00 00 

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {476} normal block at 0x003A8570, 34 bytes long.

 Data: <<N x            > 3C 4E A4 78 11 00 00 00 11 00 00 00 01 00 00 00 

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {475} normal block at 0x003A8518, 28 bytes long.

 Data: <<N x            > 3C 4E A4 78 0B 00 00 00 0B 00 00 00 01 00 00 00 

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {474} normal block at 0x003A84C0, 24 bytes long.

 Data: <<N x            > 3C 4E A4 78 07 00 00 00 07 00 00 00 01 00 00 00 

f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) : {473} normal block at 0x003A8468, 22 bytes long.

 

只能看出来和字符串有关,上网找了半天也没找到答案

后来无意中发现dll的字符集和exe工程的字符集不一致,一个是多字节的(Multibyte),另一个是Unicode的。

调整一致后,发现内存泄露提示没有了。