您的位置:首页 > 其它

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

2015-06-16 16:33 176 查看
前几天写了一个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的。

调整一致后,发现内存泄露提示没有了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: