全局内存:
hGlobal = GlobalAlloc 分配
hGlobal = GlobalReAlloc 重分配
GlobalSize(hGlobal); 获取大小
GlobalFree(hGlobal); 释放内存
int *p = (int*)GlobalLock(hGlobal); 访问内存 访问时锁定内存
GlobalUnlock(hGlobal); 解除锁定,锁定几次,就需要解锁几次。
GlobalHandle(p); 获取句柄
malloc
free
CopyMemory
FillMemory
lstrcpy
pRectData = (PRECTDATA) HeapAlloc (GetProcessHeap (),HEAP_ZERO_MEMORY, sizeof (RECTDATA)) ;
HeapFree (GetProcessHeap (), 0, pRectData) ;
TLS:线程局部存储。唯一于各个线程的持久性存储。windows扩展函数:
dwTlsIndex = TlsAlloc();
TlsSetValue(dwTlsIndex,GlobalAlloc(GPTR,sizeof(DATA)));
TlsGetValue(dwTlsIndex);
GlobaFree(TlsGetValue(dwTlsIndex));
TlsFree(dwTlsIndex);
但TLS已经被C预言扩展,在线程的变量名前面加 __declspec(thread)