DrawSquare
(mostrada en blau) anomenada DrawLine
(mostrada en verd), que és la rutina que s'està executant actualment.En informàtica, una pila de crides és una estructura de dades de pila que emmagatzema informació sobre les subrutines actives d'un programa informàtic. Aquest tipus de pila també es coneix com a pila d'execució, pila de programes, pila de control, pila en temps d'execució o pila de màquina, i sovint s'escurça només a "la pila". Tot i que el manteniment de la pila de crides és important per al bon funcionament de la majoria del programari, els detalls solen estar ocults i automàtics en llenguatges de programació d'alt nivell. Molts conjunts d'instruccions d'ordinador proporcionen instruccions especials per manipular les piles.[1]
Una pila de crides s'utilitza per a diversos propòsits relacionats, però el motiu principal per tenir-ne una és fer un seguiment del punt al qual cada subrutina activa hauria de tornar el control quan s'acabi d'executar. Una subrutina activa és aquella que s'ha cridat, però encara s'ha d'executar, després de la qual s'ha de retornar el control al punt de trucada. Aquestes activacions de subrutines es poden imbricar a qualsevol nivell (recursiu com a cas especial), d'aquí l'estructura de pila. Per exemple, si una subrutina DrawSquare
crida a una subrutina DrawLine
des de quatre llocs diferents, DrawLine
ha de saber on ha de tornar quan finalitzi la seva execució. Per aconseguir-ho, l'adreça que segueix la instrucció que salta a DrawLine
, l'adreça de retorn, es posa a la part superior de la pila de crides amb cada trucada.[2]