Adh*_*rov 7 c linux gcc exit atexit
我是C编程新手。我曾经认为使用exit()是终止进程的最干净方法(因为它能够删除临时文件,关闭打开的文件,正常终止进程...),但是当我man exit在终端上尝试命令时(Ubuntu 16.04.5,gcc 5.4) .0)我看到以下行:
exit()函数使用不受保护的全局变量,因此它不是线程安全的。
之后,我尝试进行一些有关更好地替代的研究exit()(从一开始就改变我的编程行为)。虽然这样做,我面对这个问题,其中的副作用exit()被提及,并建议使用atexit()适当地(部分至少)解决该问题。
在某些情况下,使用abort()优先于exit()。最重要的是,这个问题表明这atexit()可能也是有害的。
所以这是我的问题:
exit()并且在任何情况下都不会损害系统)?进程终止的最佳方式是什么
exit(),因为您的代码不会采用多线程。exit()由于上述 1. 原因而安全地调用。