LINUX.ORG.RU

linux, gcc, исключения


0

1

А как реализована обработка исключений в gcc? В винде знаю есть SEH: во время компиляции создаются фреймы исключений, заносится указатель на функцию-обработчик итд. Про Линукс только нашел, что сигналы используются при возникновении исключения.

В gcc? В компиляторе чтоле самом? Какая разница?
Если про C++ - через жопу.

anonymous
()

SEH — это реализация исключений на уровне операционки (винды, тоись), и работать оно будет откуда угодно, хоть из plain C, хоть из C++, а хочешь, и на ассемблере можешь с ним (SEH) работать. А на уровне языка работу исключений можешь в Стандарте плюсовом посмотреть, 15-ая секция.

one_more_hokum ★★★
()
Ответ на: комментарий от placement_new

> Ну есть у Линукса свое SEH с блэкджеком нет?

На уровне Си++ отчасти есть - можно переводить сигналы в исключения.

tailgunner ★★★★★
()
Ответ на: комментарий от placement_new

>Ну есть у Линукса свое SEH с блэкджеком нет?

Нет.

Но при большинстве ошибок посылаются сигналы POSIX, которые можно перехватить и восстановиться, а не падать. Хотя это менее удобно, чем SEH, если делать это вручную.

proud_anon ★★★★★
()

longjump из обработчика

dimon555 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.