CtrIsValidHeapPointer(pUserData)、DLL、以及CString

在使用VC 6.0 做动态链接库的时候,如果从exe主程序里调用dll中的函数使用了CString类作为参数,在函数结束的时候通常会遇到以下错误:

_CtrIsValidHeapPointer(pUserData)

dbgheap.c

Line:1044

原因在于CString类的析构方式使得对象在dll空间中析构时,会重复释放,以致第二次释放时出错!

解决办法:

使用LPCSTR类型传递参数

就OK!

你可能感兴趣的:(dll,exe)