ZeroMemory
// 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