, используемой вами (см. описа
Автор admin Вторник, 5 мая 2009 11:32
, используемой вами (см. описание «модели с нулевыми затратами» далее в этом разделе). Выражение throw может рассматриваться как вызов специальной системной функции, которая получает объект исключения как аргумент и осуществляет возврат в текущей цепочке вызовов. Чтобы этот механизм работал, компилятор должен сохранить в стеке специальную информацию, используемую при раскрутке стека времени выполнения. Впрочем, для понимания сути происходящего нужно познакомиться со стеком времени выполнения (далее — просто стек). При вызове функции информация о ней заносится в стек в виде экземпляра активационной записи (Activation Record Instance, ARI), также называемый кадром стека. Типичный кадр стека состоит из адреса вызывающей функции (по которому возвращается управление), указателя на ARI статического родителя функции (области видимости, лексически содержащей вызванную функцию, для обращения к переменным, глобальным по отношению к функции), и указателя на вызвавшую функцию (динамическогородителя). Путь, образуемый ссылками на динамических родителей всех уровней, называется динамической цепочкой, или цепочкой выз
Комментарии закрыты.
Последние комментарии