Книга: Системное программирование в среде Windows
Глобальное и локальное разворачивание стека
Глобальное и локальное разворачивание стека
Исключения и аварийные завершения вызывают глобальное разворачивание стека (global stack unwind) в поиске обработчика, как было показано на рис. 4.1. Предположим, например, что в отслеживаемом блоке примера, приведенного в конце предыдущего раздела, исключение возникает прежде, чем активизируются FP-исключения. Тогда перед обработчиком исключения в стеке могут находиться многочисленные обработчики завершения.
Вспомните, что структура стека является динамической, как показано на рис. 4.1, и что в стеке, наряду с другими данными, хранятся данные обработчиков исключений и завершения. Фактическое содержимое стека в любой момент времени зависит от следующих факторов:
• Статической структуры программных блоков.
• Динамической структуры программы, отражаемой в последовательности открытых вызовов функций.
- 9.2.1. Более строгая реализация стека
- 9.4 Локальное и удаленное зеркальное отражение
- Глобальное знание
- 12.7.3. Разворачивание слов оболочкой: wordexp() и wordfree()
- Общие сведения о стеках протоколов
- Роль стека протоколов TCP
- 1.7.5. Многоуровневая архитектура стека TCP
- Просмотр стека вызовов
- Раздел V Глобальное управление Интернетом: международно-правовые и международно-политические аспекты
- ГЛОБАЛЬНОЕ ПЛАНИРОВАНИЕ ЖИЗНИ
- Две или три вещи, которые мы знаем о стеках
- У9.3 Совместное использование стека достижимых элементов