char a[10];
cout << PurifyIsInitialized(a, 10) << endl;//Checks whether a memory block is initialized.
理论上将这个时候a应该是没初始化的啊.
但是输出确是 1.
而且api给的例子 也和例子说的结果不一样,两个地方都是输出的1
void main()
{
char *chunk;
HANDLE hHeap;
hHeap = GetProcessHeap();
chunk = (char *)HeapAlloc(hHeap, HEAP_GENERATE_EXCEPTIONS, 15);
printf("IsInitialized(chunk, 1)? %d\n",
PurifyIsInitialized(chunk, 1)); /* 0 */
strcpy(chunk, "Hello");
printf("IsInitialized(chunk, 1)? %d\n",
PurifyIsInitialized(chunk, 1)); /* 1 */
}
------解决方案--------------------------------------------------------
是VC吗?你运行一下RELEASE版的程序试试看。
------解决方案--------------------------------------------------------
我用的是2003的!
上面有例子的!
对于java的api是好用的!