boost会有内存泄漏?
我写了一个MFC程序调用我自己写的win32 DLL (非MFC DLL),在DLL中调用了boost的filesystem库,在主程序退出调试后,output窗口中报告出现了内存泄漏:
Detected memory leaks!
Dumping objects ->
{119} normal block at 0x00396060, 80 bytes long.
Data: <ABCDEFGHIJKLMNOP> 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50
{118} normal block at 0x00395FF0, 48 bytes long.
Data: < > 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10
Object dump complete.
在我的DLL中,一个函数包括以下调用:
bool CFoo::GetGo()
{
path cPath( "c:\\windows", native );
return m_bGo;
}
path 是boost-filesystem中的类。
主程序在BOOL CTestGUIApp::InitInstance()中用以下方式调用DLL:
CFoo* cf = CreateFoo();
bool bB = cf->GetGo();
DeleteFoo( cf );
一直无法想通为什么会出现内存泄漏,path 这个类中没有特别分配内存的啊。各位专家有谁有办法解决吗?