Obsah:
Definice - Co znamená Stack Frame?
Rámec zásobníku je technika správy paměti použitá v některých programovacích jazycích pro generování a odstranění dočasných proměnných. Jinými slovy to lze považovat za shromažďování všech informací v zásobníku, které se týkají volání podprogramu. Rámečky zásobníku existují pouze během běhového procesu. Zásobníkové rámečky pomáhají programovacím jazykům při podpoře rekurzivních funkcí pro podprogramy.
Rámeček zásobníku známý také jako aktivační rámec nebo aktivační záznam.
Techopedia vysvětluje Stack Frame
Rám zásobníku se skládá z:
- Lokální proměnné
- Uložené kopie registrů upravené podprogramy, které by mohly vyžadovat obnovu
- Parametry argumentu
- Zpáteční adresa
Jednotlivé rámce zásobníku mají prostor pro skutečné parametry, dočasná umístění, lokální proměnné a informace o podprogramu. Když specifické rutiny, které volají tyto parametry, umístění nebo proměnné, dokončily provedení, příslušný rámeček zásobníku je ze zásobníku vyloučen. Pořadí informací o balení v rámci zásobníku je ve většině případů nezávislé na specifikacích programovacího jazyka.
Jedním z hlavních rysů rámce zásobníku je, že pro konkrétní podprogram je velikost zásobníku zásobníku pevná. Aby programovací jazyk mohl používat rámeček zásobníku, musí být k dispozici čítač programu a vlákno se dvěma ukazateli: základním ukazatelem a ukazatelem zásobníku. Základní ukazatel vždy ukazuje na horní část rámu, zatímco ukazatel zásobníku ukazuje na horní část zásobníku. Počitadlo programů pomáhá při ukazování na další spustitelnou instrukci. Rámec zásobníku pro danou proceduru obsahuje všechny relevantní informace pro uložení a obnovení stavu konkrétní procedury.