gcc mingw - exception
От: maks1180  
Дата: 16.11.22 17:02
Оценка:
Что-бы использовать исключения, gcc нужны функции
__gxx_personality_sj0
__cxa_begin_catch
__cxa_end_catch
__cxa_allocate_exception
__cxa_throw

Они находяться в stdc++ и при статической линковки в Windows (mingw) gcc добавляет ещё кучу функций и как результат на 81кб увеличивается exe.
Например, gcc добавляет большую функция __mingw_pformat (это обёртка над sprintf или аналог её насколько я понимаю).

1. Как посмотреть для чего линковщик добавил функцию __mingw_pformat ? и вообще какое отношения она имеет к обработке исключений ?

2. Где посмотреть реализации функций __cxa* ? Это исходники stdc++ или mingw нужно смотреть ? Можно ли переопределить эти функции ?

3. Есть ли другие способы обработки исключений, что-бы уменьшить размер exe при статической линковке ?
===============================================
(реклама, удалена модератором)
Отредактировано 16.11.2022 17:03 maks1180 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.