exit(EXIT_TRUE), fait ceci :
1. Objects associated with the current thread with thread storage duration are destroyed (C++11 only).
2. Objects with static storage duration are destroyed (C++) and functions registered with atexit are called.
3. All C streams (open with functions in <cstdio>) are closed (and flushed, if buffered), and all files created with tmpfile are removed.
Control is returned to the host environment.
Et la sortie (EXIT_FAILURE) ?
EXIT_SUCCESS
etEXIT_FAILURE
sont deux constantes. GénéralementEXIT_SUCCESS=0
,EXIT_FAILURE=1
.EXIT_SUCCESS
和EXIT_FAILURE
是两个常量。一般EXIT_SUCCESS=0
,EXIT_FAILURE=1
。
La fonctionexit()
函数先处理完上面你列出的许多后事,最后将它的参数返回给操作系统作为exit status。所以从exit
函数本身执行来说并没有什么不同。不同的是操作系统对这个exit status的解释。一般0
表示程序寿终正寝,1
exit()
gère d'abord la plupart des questions funéraires que vous avez énumérées ci-dessus, et renvoie enfin ses paramètres au système d'exploitation comme état de sortie. Il n'y a donc aucune différence au niveau de l'exécution de la fonctionexit
elle-même. La différence réside dans l'interprétation que fait le système d'exploitation de cet état de sortie. Généralement,0
signifie que le programme est mort et1
signifie qu'il est mort de manière inattendue. 🎜