Un enregistrement d'activation est un autre nom pour Stack Frame. C'est la structure de données qui compose une pile d'appels. Elle est généralement composée de :
- Locaux de l'appelant
- Adresse de retour à l'appelant
- Paramètres du destinataire de l'appel
- La valeur précédente du pointeur de pile (SP)
La pile d'appels est donc composée d'un nombre quelconque d'enregistrements d'activation qui sont ajoutés à la pile au fur et à mesure que de nouvelles sous-routines sont ajoutées, et retirés de la pile (généralement) lorsqu'elles reviennent.
La structure et l'ordre réels des éléments sont définis par la plate-forme et même par la mise en œuvre.
Pour les programmeurs C/C++, connaissance générale de cette structure est utile pour comprendre certaines caractéristiques de mise en œuvre comme les conventions d'appel et même pourquoi les dépassements de tampon permettent l'exécution de code malveillant tiers.
A plus connaissance intime approfondit les concepts ci-dessus et permet également à un programmeur de déboguer son application et de lire les vidages de mémoire, même en l'absence d'un débogueur ou de symboles de débogage.
Plus généralement, un programmeur C/C++ peut passer une grande partie de sa carrière de programmeur amateur sans même se préoccuper de la pile d'appels.