[so] Macro-ul DIE - improved

Adrian Stanciu adrian.stanciu.pub at gmail.com
Sun Mar 22 21:50:57 EET 2015


2015-03-22 17:08 GMT+02:00 Razvan Deaconescu via so <so at cursuri.cs.pub.ro>:
> Marius Ungureanu <therzok at gmail.com> writes:
>> 2015-03-22 13:04 GMT+02:00 Razvan Deaconescu via so <so at cursuri.cs.pub.ro>:
>>> 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.
>>
>> Sterg atunci cele doua macro-uri de pe wiki?
>
> Din punctul meu de vedere, da. Să vedem, însă, ce zic și alte persoane,
> asistenți sau studenți.
>

Salut Marius,

Am de făcut o observație la variantele tale pentru macro-ul DIE:
există posibilitatea ca una dintre funcțiile de cleanup să modifice
valoarea lui errno iar în final mesajul de eroare afișat să nu aibă
nicio legătură cu eroarea inițială. O soluție ar fi folosirea unui
mecanism de save-restore pentru errno.

Variantele tale sunt ceva mai complexe, și vor încărca puțin codul.
Având în vedere că macro-ul apelează exit() iar resursele alocate sunt
automat eliberate, nu le văd foarte bine utilitatea. Un aspect bun pe
care îl văd este preocuparea de a elibera toate resursele alocate.


Adrian


More information about the so mailing list