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ż:

1 komentarz

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