Table des matières:
Définition - Que signifie Stack Frame?
Un cadre de pile est une technique de gestion de la mémoire utilisée dans certains langages de programmation pour générer et éliminer des variables temporaires. En d'autres termes, il peut être considéré comme la collecte de toutes les informations sur la pile se rapportant à un appel de sous-programme. Les trames de pile n'existent que pendant le processus d'exécution. Les cadres de pile aident les langages de programmation à prendre en charge la fonctionnalité récursive pour les sous-programmes.
Trame de pile également appelée trame d'activation ou enregistrement d'activation.
Techopedia explique Stack Frame
Un cadre de pile est composé de:
- Variables locales
- Copies enregistrées des registres modifiés par des sous-programmes qui pourraient avoir besoin d'être restaurés
- Paramètres d'argument
- Adresse de retour
Une trame de pile individuelle dispose d'un espace pour les paramètres réels, les emplacements temporaires, les variables locales et les informations de sous-programme d'appel. Lorsque les routines spécifiques appelant ces paramètres, emplacements ou variables ont terminé leur exécution, la trame de pile appropriée est éliminée de la pile. Dans la plupart des cas, l'ordre de regroupement des informations dans le cadre de pile est indépendant des spécifications du langage de programmation.
L'une des principales caractéristiques du cadre de pile est que pour un sous-programme spécifique, la taille du cadre de pile est fixe. Pour qu'un langage de programmation utilise un cadre de pile, un compteur de programme et un thread doivent être disponibles avec deux pointeurs: le pointeur de base et le pointeur de pile. Le pointeur de base pointe toujours vers le haut du cadre, tandis que le pointeur de pile pointe vers le haut de la pile. Le compteur de programme aide à pointer vers la prochaine instruction exécutable. Un cadre de pile pour une procédure donnée contient toutes les informations pertinentes pour l'enregistrement et la restauration de l'état de la procédure spécifique.