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 _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
