ZeroMemory
ŁF
// C
void ZeroMemory(
PVOID Destination,
SIZE_T Length
);
//Delphi
procedure ZeroMemory(Destination:Pointer; Length:Cardinal);
Procedura ZeroMemory
wypełnia zerami podany obszar pamięci.
Parametry:
Destination
Wskaźnik do początku zerowanego obszaru pamięci.
Length
Długość obszaru do wyzerowania (w bajtach).
Wykorzystanie:
var
Buf :array [0..9] of Byte;
ZeroMemory(@Buf, SizeOf(Buf));
ZeroMemory jest funkcją systemową. Jej odpowiednikiem w bibliotece pascala jest FillChar, przy czym może ona inicjować pamięć wartościami 0..255.
FillChar(Buf, SizeOf(Buf), 0);
W niektórych kompilatorach C/C++ może ona zostać podczas optymalizacji pominięta i w takich wypadkach należy użyć SecureZeroMemory.
Zobacz też:
Nie wiem dlaczego ale ta funkcja przy zerowaniu tabeli strasznie "zjada" pamięć. Używając jej wielokrotnie
np
Zeromemory(@tablica,sizeof(tablica));
FastMM pokazuje za każdym razem "wyciek pamięci" (tzw memory leak)
Przez takie wycieki przy długiej pracy pojawiał się komunikat (Out of memory) lub (za mało pamięci virtualnej)
Pozdrawiam
jachings