Кажется, это проблема, зависящая от компилятора.У меня были проблемы с этим при развертывании в Windows, где MinGW-GCC должен быть собран с общей библиотекой libstdc ++, чтобы разрешить обработку исключений между библиотеками DLL (что не является версией по умолчанию для версии Debian и требует от меня повторной компиляции GCC).
Таким образом, я предполагаю, что между компиляторами нет общего ABI, поскольку GCC даже не соответствует самому себе во всех отношениях.Что касается технических соображений, то низкоуровневая информация об обработке исключений должна храниться где-то, и это, вероятно, будет третья библиотека C, которая обрабатывает исключения.Компиляторы могут иметь возможность совместно использовать эту библиотеку, но я предполагаю, что это не так.
С другой стороны: я сейчас кросс-компилирую довольно большой проект для систем POSIX и Windows и интенсивно использую исключения между библиотекамив многопоточной среде.Он работает с совместно используемой libstdc ++ для GCC, и, поскольку все компоненты являются открытыми, у меня была возможность просто перекомпилировать все зависимости C ++ для MinGW.