🔥 Грязные трюки C++ из userver и Boost
В статье рассказывают о нестандартных приёмах, используемых при разработке асинхронного фреймворка userver и библиотеки Boost.
Подробно рассматривают внутренние механизмы работы исключений в C++ на платформе Linux x86, демонстрируя, как компилятор преобразует оператор throw в набор ассемблерных команд с вызовами функций __cxa_allocate_exception и __cxa_throw.
Показывают, как переопределение функции __cxa_allocate_exception позволяет добавлять stacktrace ко всем исключениям, включая те, которые генерируются сторонними библиотеками.
Также обсуждаются методы ускорения обработки исключений и использование шаблонного метапрограммирования для решения сложных задач.
👉 Ссылка
Post #5183
4.81K
- 🎉 3
- ❤ 2
- ⚡ 1
- 🔥 1