Odpověď na názor

Odpovídáte na názor ke článku SEH v Linuxu (C++).

  • 6. 9. 2012 16:28

    ezdiy (neregistrovaný)

    Fair enough. Jsem ten typ cloveka co radeji pouziva nativni konstrukce, obvzlaste u obsluhy exception nez zbesile bastleni v makrech.

    Ja mel za to ze je rec o Linuxu, nikoliv vsech posix kompatibilnich systemech :)

    Pravdou take je ze mnou popisovany postup funguje pouze na specificke implementaci signalu - v handleru musi byt dostupny stack context, aby spravne fungoval unwind - lze snadno overit v gdb ze se korektne zobrazi backtrace.

    Toto plati pro vetsinu modernich unixu (linux, *bsd, solaris), ale na tech starsich (linux-2.2, solaris 6, hpux) si muze clovek nabit hubu protoze je vynucen alternativni stack.

    sigsetjmp() JE elegantni posixove reseni. Ale pouze v C, nebo v C++ s -fno-exceptions.

    Stejne jako posix rika ze je undefined throw ze signalu, stejne tak je undefined michani nativnich exceptions se setjmp/longjmp. Mimo jine z duvodu o kterych tu mnozi psali.