报堆栈错误问题,
f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c 1322
_CrtIsValidHeapPointer(pUserData)
可能的几个原因:
1. 数据越界。
char *tmp = new char[5];
strcpy(tmp, "xxXXXXXXXXx");
delete tmp;
2.指针地址被改变.
char *tmp = new char[5];
tmp = "xx";
delete tmp;
3.没发现上面两种情形。(该情形很奇怪,也可能没找到具体出问题的地方,也可能微软自身库中的bug)
只要把 Use MFC in a Static Library
修改成 Use MFC in a Shared DLL 就没报堆栈错误的问题