[so] [Tema1]
Costin Lupu
costin.lup at gmail.com
Tue Mar 8 15:59:54 EET 2016
On Tue, 2016-03-08 at 13:48 +0200, Raluca Caciula via so wrote:
> Pentru tratarea erorilor am folosit functia DIE(), insa daca a aparut
> o eroare,
> nu mai realizez dezalocarea memoriei alocate pana in momentul de fata.
> Este aceasta o
> problema?
Short answer: Nu e o problemă, nu depunctăm.
Long answer: Pe sistemele de operare moderne pe care poți să omori
procese la discreție, așa cum sunt Windows și Linux, OS-ul dezalocă
resursele (memoria alocată, fișiere deschise) procesului la terminare.
Deci memoria nu rămâne "agățată". Evident că există și OS-uri care nu
aplică acest principiu, dar acestea fac parte din alte categorii (OS-uri
embedded cu număr fix de procese, OS-uri care nu folosesc memorie
virtuală, etc.) și nu intră în scope-ul laboratoarelor/temelor.
Oricum, ca să dezaloci toată memoria dinamică înaintea unui assert/exit
ai avea nevoie de un mecanism de error-handling prea complicat pentru
teme. Ar trebui fie să faci exit doar în funcția main, fie să ai acces
în funcția în care faci exit la toate variabilele alocate dinamic în
program.
Costin
More information about the so
mailing list