Casa Sviluppo Che cos'è un frame stack? - definizione da techopedia

Che cos'è un frame stack? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Stack Frame?

Un frame stack è una tecnica di gestione della memoria utilizzata in alcuni linguaggi di programmazione per generare ed eliminare variabili temporanee. In altre parole, può essere considerata la raccolta di tutte le informazioni sullo stack relative a una chiamata di sottoprogramma. I frame dello stack esistono solo durante il processo di runtime. I frame stack aiutano i linguaggi di programmazione a supportare la funzionalità ricorsiva per le subroutine.

Un frame stack noto anche come frame di attivazione o record di attivazione.

Techopedia spiega Stack Frame

Un frame stack è composto da:

  • Variabili locali
  • Copie salvate dei registri modificate da sottoprogrammi che potrebbero necessitare di restauro
  • Parametri dell'argomento
  • Indirizzo di ritorno

Un singolo frame dello stack ha spazio per parametri effettivi, posizioni temporanee, variabili locali e informazioni sulla subroutine di chiamata. Quando le routine specifiche che chiamano questi parametri, posizioni o variabili hanno completato l'esecuzione, il relativo frame dello stack viene eliminato dallo stack. Nella maggior parte dei casi, l'ordine delle informazioni sull'imballaggio nel frame dello stack è indipendente dalle specifiche del linguaggio di programmazione.

Una delle caratteristiche salienti del frame dello stack è che per un sottoprogramma specifico, la dimensione del frame dello stack è fissa. Affinché un linguaggio di programmazione utilizzi un frame di stack, un contatore di programma e un thread devono essere disponibili con due puntatori: il puntatore di base e il puntatore dello stack. Il puntatore di base punta sempre nella parte superiore del riquadro, mentre il puntatore dello stack punta nella parte superiore dello stack. Il contatore del programma aiuta a indicare l'istruzione eseguibile successiva. Un frame stack per una determinata procedura contiene tutte le informazioni rilevanti per il salvataggio e il ripristino dello stato della procedura specifica.

Che cos'è un frame stack? - definizione da techopedia