Стек викликів

Автор: Lewis Jackson
Дата Створення: 8 Травень 2021
Дата Оновлення: 25 Червень 2024
Anonim
Информатика. Практика программирования: Стек вызовов. Центр онлайн-обучения «Фоксфорд»
Відеоролик: Информатика. Практика программирования: Стек вызовов. Центр онлайн-обучения «Фоксфорд»

Зміст

Визначення - Що означає стек викликів?

Стек викликів у C # - це перелік імен методів, викликаних під час виконання програми від початку програми до виконання поточного оператора.


Стек викликів в основному призначений для відстеження точки, до якої кожна активна підпрограма повинна повертати контроль, коли вона закінчує виконання. Стек викликів виступає інструментом для налагодження програми, коли метод, який слід відстежувати, може бути викликаний у більше ніж один кон. Це є кращою альтернативою, ніж додавання коду відстеження до всіх методів, які викликають даний метод. Кожного разу, коли в коді користувача буде викинуто виняток, загальна мова виконання (CLR) буде розкручувати стек виклику та шукати блок вилову для визначення конкретного виду виключення. Якщо немає відповідного обробника, CLR припиняє програму. Таким чином, стек викликів використовується для того, щоб вказати покажчику виконання, куди йти далі.

Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

Техопедія пояснює стек викликів

Стек викликів організований як "стек", структура даних в пам'яті для зберігання елементів в режимі "останній-перший-вихід", так що абонент підпрограми натискає зворотну адресу на стек і викликану підпрограму після закінчення, вискакує зворотну адресу зі стека викликів, щоб передати управління на цю адресу.


У C # будь-яка програма починається з "основного" методу, який у свою чергу викликає інші методи. Під час кожного виклику методу метод додається у верхню частину стеку та видаляється зі стека після повернення до абонента. Також область змінної, оголошеної в блоці, визначається з моменту, коли її значення висувається на стек (як частина стека виклику) до тих пір, поки виконання не покине блок, коли змінна та стек виклику вискакують зі стека. Таким чином, стек підтримує як локальні змінні (типи значень), так і стек викликів (стеки кадрів), розмір яких вказує на складність програми.

Це визначення було написано в кон. C #