PDA

Visualizza la versione completa : [PASCAL] Array dinamico e rilascio della memoria


denis76
14-09-2007, 15:44
Dato l'array:



type
APistola= array of Integer;
var
AAPistole: APistola;
begin
SetLength(AAPistole, 9999);
...



Al termine della funzione la memoria viene liberata automaticamente?

Grazie mille, Denis.

pallinopinco
14-09-2007, 16:09
Non allochi dinamicamente memoria quindi la variabile AAPistole viene eliminata al termine della funzione o procedura.

Per rilevare memory leaks puoi usare programmi tipo MemProof (http://www.automatedqa.com/downloads/memproof/index2.asp), non dimenticare di compilare l'eseguibile con i simboli di debug.

alka
16-09-2007, 19:57
Originariamente inviato da denis76
Al termine della funzione la memoria viene liberata automaticamente?
Se stiamo parlando del linguaggio Object Pascal e del compilatore Delphi, quello che hai creato un array dinamico, che viene deallocato automaticamente all'uscita dalla routine.

pallinopinco
16-09-2007, 20:22
Al termine della funzione la memoria viene liberata automaticamente?


Nell'articolo Addressing pointers (http://rvelthuis.de/articles/articles-pointers.html#references) viene approfondito l'argomento.

Loading