我有这段代码
HLOCAL localHandle;
char *lpText;
localHandle = LocalAlloc(LMEM_MOVEABLE, 40);
if(localHandle)
{
lpText = (char*)LocalLock(localHandle);
//Call LocalFree(localHandle) or LocalFree(lpText) ????
}
我应该叫
LocalFree(localHandle);
还是LocalFree(lpText);
? 最佳答案
这两者都不是,但从代码的外观来看,lpText指向的内存在调用LocalFree之后将成为垃圾。
如果调用LocalLock,则应在调用LocalFree(localHandle)之前调用LocalUnlock(localHandle)。
为什么不直接用malloc呢您只需要调用LocalAlloc有什么技术原因吗让运行时为您做这项工作。