Éditeurs de liens, chargeurs et exécutables
Où est placée pendant l'exécution une variable locale (variable automatique) sans static déclarée dans une fonction C ?
- ADans la section .data
- BSur la pile (ou dans un registre)
- CDans le tas
Afficher la réponse et l'explication
Réponse : B. Sur la pile (ou dans un registre)
Les variables locales sont créées dans le cadre de pile lors de l'appel de la fonction (l'optimisation peut aussi les placer uniquement dans des registres) et disparaissent au retour. Ainsi, même si une même fonction est appelée plusieurs fois de façon imbriquée par récursion, chaque appel dispose de ses propres variables. Il n'existe pas de section pour les variables locales dans l'exécutable ; la zone est réservée en déplaçant le pointeur de pile au début de la fonction.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables