Pile d'appel

Pile d'appel

Pile d'exécution

En informatique, la pile d'exécution (souvent abbréviée en la pile ; en anglais, call stack) est une structure de données de type pile qui sert à enregistrer des informations au sujet des fonctions actives dans un programme informatique.

Une pile d'exécution est utilisée pour emmagasiner plusieurs valeurs, mais sa principale utilisation est de garder la trace de l'endroit où chaque fonction active doit retourner à la fin de son exécution. (Les fonctions actives sont celles qui ont été appelées, mais n’ont pas encore terminé leur exécution.) Si, par exemple, un programme DessineCarré appelle une fonction DessineLigne à quatre endroits différents, la fonction DessineLigne doit avoir un moyen de savoir où poursuivre l’exécution à la fin de chacune de ses exécutions. Cela est fait par chacun des appels à la fonction DessineLigne qui place l’adresse de l'instruction suivant l'appel (l’adresse de retour) sur la pile d’exécution avant de transférer le contrôle de l’exécution à la fonction DessineLigne.

Étant donné que la pile d'exécution est une pile, l'appelant pousse l'adresse de retour sur la pile, et la fonction appelée, quand elle se termine, récupère l'adresse de retour au sommet de la pile d'exécution (et y transfère le contrôle). Si une fonction appelée appelle une autre fonction, elle poussera son adresse de retour sur la pile d'exécution. Les adresses de retour s'accumulent donc sur la pile d’exécution et sont récupérées une à une lors de la fin de l’exécution des fonctions. Si l’accumulation des adresses de retour consomme tout l'espace alloué à la pile d'exécution, un message d'erreur appelé un dépassement de pile se produit.

En plus d’emmagasiner des adresses de retour, la pile d’exécution emmagasine aussi d’autres valeurs associées comme les variables locales de la fonction, les paramètres de la fonction, etc.

Dans les langages de programmation de haut niveau, les spécificités de la pile d'exécution sont cachées au programmeur. Le programmeur a uniquement accès aux appels de fonctions et aux paramètres associés, et non au contenu de la pile elle-même. D’autre part, la plupart des langages d'assemblage requièrent des programmeurs une connaissance et une manipulation complexe de la pile d’exécution. Les détails de la structure et du contenu de la pile d’exécution dans un langage de programmation dépendent du compilateur, du système d'exploitation et du jeu d'instructions de l’ordinateur.


  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Pile d%27ex%C3%A9cution ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Pile d'appel de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Pile (informatique) — Pour les articles homonymes, voir pile. Une pile est gérée en Last in, first out. En informatique, une pile (en anglais …   Wikipédia en Français

  • Pile d'exécution — En informatique, la pile d exécution (souvent abbréviée en la pile ; en anglais, call stack) est une structure de données de type pile qui sert à enregistrer des informations au sujet des fonctions actives dans un programme informatique. Une …   Wikipédia en Français

  • Appel de procédure — Procédure (informatique) Pour les articles homonymes, voir Procédure. En programmation informatique, une procédure, aussi appelée routine ou sous routine, est une fonction qui ne renvoie pas de résultat. On peut cependant remarquer que sous cette …   Wikipédia en Français

  • Gestion d'exceptions — Système de gestion d exceptions Dans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l exécution du programme. Lorsqu une… …   Wikipédia en Français

  • Systeme de gestion d'exceptions — Système de gestion d exceptions Dans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l exécution du programme. Lorsqu une… …   Wikipédia en Français

  • Système de gestion d'exceptions — Dans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l exécution du programme. Lorsqu une exception se produit, l exécution… …   Wikipédia en Français

  • PAX — Pour les articles homonymes, voir Pax. PaX a sa propre version de la mascotte de Linux, Tux PaX est un patch de sécurité pour le …   Wikipédia en Français

  • PaX — Pour les articles homonymes, voir Pax. PaX a sa propre version de la mascotte de Linux, Tux PaX est un correctif (patch) de sécurité pour le noyau Linux cr …   Wikipédia en Français

  • SNUSP — (un acronyme récursif signifiant SNUSP s Not Unix, but Structured PATH) est un langage de programmation exotique issu de la transformation du Brainfuck en un langage à deux dimensions, inspiré d un langage appelé PATH[réf. nécessaire]. Le… …   Wikipédia en Français

  • Hello World — Pour les articles homonymes, voir Hello (homonymie). hello world (traduit littéralement en français par « bonjour le monde ») sont les mots traditionnellement écrits par un programme informatique simple dont le but est de faire la… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”