En C, lorsque le processus principal se termine - comment sait-il appeler toutes les fonctions enregistrées avec atexit()
?En C, chaînon manquant entre "Fin du processus principal" à "appeler toutes les fonctions enregistrées avec atexit"
Je comprends comment fonctionne atexit()
, mais je ne comprends pas la communication entre "Fin du processus principal" et "appeler toutes les fonctions enregistrées avec atexit()
" Je suis un peu redondant.
Merci!
Oui, je passais le code de sortie, et j'ai remarqué qu'il avait un appel explicite à atExit(). Existe-t-il une autre façon de faire cela en jouant avec la pile (sans écraser l'adresse de retour) pour qu'elle entre dans la fonction myExit() lorsque Main se termine. Merci! – Setzer
Plus probable que le compilateur émet du code qui: initialise les globals; puis appelle principal; appelle ensuite exit avec la valeur de retour de main. –