Je lisais la page de manuel de l'appel système abort() et je suis tombé sur ceci.

VALEUR DE RETOUR

La fonction abort() ne revient jamais.

Je me demandais comment cela est possible?

0
adarsh 10 août 2017 à 21:18

2 réponses

Un certain nombre de fonctions de la bibliothèque C ne retournent jamais à leur appelant:

  • exit() met fin au programme, fournissant un état de sortie.

  • abort() termine le programme avec un message d'erreur.

  • longjmp() transfère le contrôle au point enregistré par le setjmp() correspondant

Le code d'assemblage se branche directement à une adresse différente de l'adresse de retour ou effectue un appel système qui met fin au programme.

2
chqrlie 10 août 2017 à 18:31

L'appel de la fonction abort entraîne l'arrêt du programme.

Par conséquent, abort ne revient pas.

2
dbush 10 août 2017 à 18:20