用vs2008写了一个动态库,其中有申请内存,用vc6.0写了一个exe调用动态库,并释放dll申请的内存:dbgheap.c Line:1011

时间:2022-08-13 03:33:21
昨天用vs2008写了一个动态库,其中有申请内存,用vc6.0写了一个exe调用动态库,并释放dll申请的内存,分别生成了Debug版和Release版,然后exe调用dll的Debug版释放内存时总是弹出错误提示:
Debug   Assertion   Failed!
File:dbgheap.c
Line:1011
Expression:   _CtrIsValidHeapPointer(pUserData)
而Release版调用是没有问题的,然后google,baidu找问题,终于找到问题所在了
http://q.cnblogs.com/q/24269 我就把vc6.0的工程转变为vs2008的工程,然后exe再调用dll的Debug版就不报错了,应该是上面链接提到的exe和dll使用的CRT版本不一致造成的。用vs2008写了一个动态库,其中有申请内存,用vc6.0写了一个exe调用动态库,并释放dll申请的内存:dbgheap.c Line:1011