Ментально, я всегда задавался вопросом, как try/throw/catch выглядит за кулисами, когда компиляция С++ переводит его на ассемблер. Но, так как я никогда не использую его, я никогда не стал проверять его (некоторые люди говорили бы лениво).
Является ли обычный стек использован для отслеживания try
s или является отдельным стеком для каждой нити, предназначенным для этой цели? Является ли реализация между MSVC и g++ большой или малой? Пожалуйста, покажите мне какой-то псевдо-asm (IA-32 тоже в порядке), поэтому мне никогда не придется проверять это сам!:)
Изменить: Теперь я получаю основы реализации MSVC при обработке IA-32. Кто-нибудь знает о g++ на IA-32 или какой-либо другой CPU, если на то пошло?