Преглед садржаја:
Дефиниција - Шта значи стак позива?
Корак позива у Ц # је листа имена метода које се позивају у вријеме покретања од почетка програма до извршења тренутне изјаве.
Слог позива углавном је намијењен праћењу точке до које би сваки активни потпрограм требао враћати контролу кад заврши с извршавањем. Корак позива дјелује као алат за уклањање погрешака у апликацији када се метода коју треба пратити може позвати у више контекста. Ово је боља алтернатива од додавања кода за праћење свим методама које позивају дану методу. Кад год се изузетак баци било где у корисничком коду, заједнички језик извођења (ЦЛР) ће одмотати стог позива и тражити блок хватања како би одредио специфичну врсту изузећа. Ако не постоји одговарајући руковатељ, ЦЛР ће укинути апликацију. Слог позива се, дакле, користи да покаже извршном показивачу где треба ићи даље.
Тецхопедиа објашњава стеку позива
Слог позива организиран је као "стог", структура података у меморији за спремање ставки на начин задњи-у-први, тако да позивалац потпрограма гурне повратну адресу на стог и позвану потпрограм, након завршетка, искаче повратну адресу са скупа позива како би пренео контролу на ту адресу.
У Ц #, свака апликација започиње „главном“ методом, која заузврат позива друге методе. При сваком позиву на методу, метода се додаје на врх снопа и уклања се из скупа након повратка позиваоцу. Такође, опсег променљиве декларисане у блоку одређује се од тренутка када се њена вредност притисне на стог (као део скупа позива) док извршење не напусти блок када променљива и стацк позива искоче из снопа. Дакле, стацк одржава и локалне варијабле (врсте вриједности) и стацк позива (стоцк фрамеови), чија величина указује на сложеност програма.
