内存管理函数

全局内存:
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)

你可能感兴趣的:(内存管理)