Éditeurs de liens, chargeurs et exécutables
Lorsque la fonction main d'un programme C se termine par « return 3; », que devient généralement cette valeur 3 ?
- AElle est transmise comme statut de sortie du programme à celui qui l'a lancé (shell, etc.)
- B« 3 » est affiché à l'écran
- CElle devient le premier argument du prochain lancement du programme
Afficher la réponse et l'explication
Réponse : A. Elle est transmise comme statut de sortie du programme à celui qui l'a lancé (shell, etc.)
La valeur de retour de main est passée à exit par le code de démarrage et transmise par l'OS au processus parent sous forme de statut de sortie. Par convention, 0 signifie succès et toute autre valeur un échec ; dans un shell, « echo $? » affiche le statut de sortie de la commande précédente. Les scripts s'appuient sur cette valeur pour décider de poursuivre ou d'arrêter le traitement.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables