Éditeurs de liens, chargeurs et exécutables
Lorsqu'une récursion trop profonde dépasse la limite de la pile, que se passe-t-il généralement sous Linux notamment ?
- ALe programme touche la page de garde à accès interdit située au-delà de la pile et se termine anormalement
- BL'OS déplace automatiquement la pile sur disque, permettant une récursion de profondeur illimitée
- CLes anciens cadres de pile sont automatiquement effacés et le calcul se poursuit correctement
Afficher la réponse et l'explication
Réponse : A. Le programme touche la page de garde à accès interdit située au-delà de la pile et se termine anormalement
La pile a une limite, au-delà de laquelle se trouve une page de garde à accès interdit. Si une récursion trop profonde amène la pile jusqu'à cette page, un défaut de page survient et l'OS arrête le programme (erreur de segmentation). L'avantage de la page de garde est d'arrêter le programme avant qu'il ne corrompe d'autres données. Déclarer un grand tableau en variable locale produit le même effet ; il est donc plus sûr de placer les grandes données dans le tas.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables