c++ - exit(EXIT_FAILURE)做了什么?

浏览:31日期:2023-03-18

问题描述

exit(EXIT_TRUE),做了这些:

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.

那exit(EXIT_FAILURE)呢?

问题解答

回答1:

EXIT_SUCCESS和EXIT_FAILURE是两个常量。一般EXIT_SUCCESS=0,EXIT_FAILURE=1。

exit()函数先处理完上面你列出的许多后事,最后将它的参数返回给操作系统作为exit status。所以从exit函数本身执行来说并没有什么不同。不同的是操作系统对这个exit status的解释。一般0表示程序寿终正寝,1表示死于非命。

相关文章: