2015-03-22 12:57 GMT+02:00 Marius Ungureanu <[email protected]>: > 2015-03-22 12:52 GMT+02:00 Razvan Deaconescu via so <[email protected]>: >> Nu înțeleg nevoia acestor două noi macro-uri, mai complicate. Când un >> proces se încheie (cu exit), _toate_ resursele sale sunt eliberate: >> fișiere închise, memorie dezalocată etc. Nu văd nevoia acelor funcții de >> cleanup. > > Cand rulezi procesul cu valgrind si fortezi o eroare, valgrind spune ca ai > leak. > > int *array1 = malloc(size1 * sizeof(int)); > DIE(!array1, "malloc1 fail"); /* Asta e ok. */ > int *array2 = malloc(size2 * sizeof(int)); > DIE(!array2, "malloc2 fail"); /* Valgrind spune ca array1 e leaked. */ > > Eu de asta l-am folosit si cred ca e mai bine sa nu ai false-positive > output in acest caz.
Aia e o aberație a Valgrind-ului. Nu recomand să compensăm un neajuns al unui software cu macro-uri complicate sau alte construcții convolute. Keep it simple, make it happen, laugh in the face of danger. Răzvan _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
