方法一:使用C运行库中的malloc函数
Include msvcrt.inc
IncludeLib msvcrt.lib
New Macro name, size
Invoke crt_malloc , size
Invoke RtlZeroMemory, Addr name, size
Mov name, Eax
EndM
Delete Macro name
Invoke crt_free, name
Mov name, 0
EndM
方法二 使用AP标准内存管理函数
New Macro lpMemory,dwBytes
invoke GlobalAlloc GEM_FIXED or GEM_ZEROINIT,dwBytes
.if eax
mov lpMemory,eax
.else
move lpMemory,0
.end if
endM
Delete Macro lpMemory
invoke GloBalFree,lpMemory
mov lpMemory , 0
endM
方法三 使用堆栈管理函数
New Macro lpMemory,dwSize
invoke HeapCreate,HEAP_GENERATE_EXCEPTION,dwSize,0
.if eax && (eax <0C0000000H)
mov hMemory,eax
.endif
endM
Delete Macro lpMemory
invoke HeapFree lpMemory
mov lpMemory ,0
endM