- viene il nome \textit{stack}) in sequenza uno sull'altro; in questo modo le
- funzioni possono essere chiamate ricorsivamente. Al ritorno della funzione
- lo spazio è automaticamente rilasciato e ``\textsl{ripulito}''. La pulizia
- in C e C++ viene fatta dal chiamante.\footnote{a meno che non sia stato
- specificato l'utilizzo di una calling convention diversa da quella
- standard.}
-% TODO verificare le modalità di cambiamento della calling convention
+ viene il nome \itindex{stack} \textit{stack}) in sequenza uno sull'altro; in
+ questo modo le funzioni possono essere chiamate ricorsivamente. Al ritorno
+ della funzione lo spazio è automaticamente rilasciato e
+ ``\textsl{ripulito}''.\footnote{il compilatore si incarica di generare
+ automaticamente il codice necessario, seguendo quella che viene chiamata
+ una \textit{calling convention}; quella standard usata con il C ed il C++
+ è detta \textit{cdecl} e prevede che gli argomenti siano caricati nello
+ stack dal chiamante da destra a sinistra, e che si il chiamante stesso ad
+ eseguire la ripulitura dello stack al ritorno della funzione, se ne
+ possono però utilizzare di alternative (ad esempio nel pascal gli
+ argomenti sono inseriti da sinistra a destra ed è compito del chiamato
+ ripulire lo stack), in genere non ci si deve preoccupare di questo
+ fintanto che non si mescolano funzioni scritte con linguaggi diversi.}