Что-бы использовать исключения, 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 при статической линковке ?