blob: f7da93aa2f257c2d205b530a2cfe420ab5a66552 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
---
title: Pile d'exécution
slug: Glossary/Call_stack
tags:
- Encodage
- Glossaire
- Pile d'exécution
translation_of: Glossary/Call_stack
original_slug: Glossaire/Pile_d_exécution
---
<p>Une <strong>pile d'exécution</strong> est le mécanisme d'un interpréteur (comme l'interpréteur de JavaScript sur un navigateur web) pour conserver la trace de son emplacement dans un script qui appelle plusieurs {{glossary("Function","fonctions")}} depuis d'autres fonctions — <span id="result_box" lang="fr"><span>quelle fonction est en cours d'exécution, quelles fonctions sont appelées depuis cette fonction et doivent être appelées ensuite, etc.</span></span></p>
<ul>
<li>Lorsqu'un script appelle une fonction, l'interpréteur ajoute sa position actuelle sur la pile d'exécution comme étant son adresse de retour, et ensuite, il se lance dans l'exécution de la fonction.</li>
<li><span id="result_box" lang="fr"><span>Toutes les fonctions appelées par cette fonction sont ajoutées à la pile d'appels plus haut, et s'exécutent là où leurs appels sont atteints.</span></span></li>
<li>Quand la fonction se termine, l'interpréteur récupère l'adresse de retour la plus récente depuis la pile et reprend l'exécution à partir de l'endroit indiqué par celle-ci.</li>
<li>Si la pile est sollicitée au-delà de l'espace qui lui a été affecté, une erreur "dépassement de pile" se produit.</li>
</ul>
<h2 id="En_apprendre_plus">En apprendre plus</h2>
<h3 id="Culture_générale">Culture générale</h3>
<ul>
<li>{{Interwiki("wikipedia","Pile_d'exécution","Pile d'exécution")}} sur Wikipédia</li>
</ul>
|