欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8631342
联系邮箱:yinfork@foxmail.com
不考虑线程,让程序退出的函数有以下几个(exit,return,_exit,_Exit,abort ,assert和信号)
正常退出:
1. exit和return:
在main()函数中,调用exit 0 和调用 return 0 的作用和结果是一样的。exit后,程序会调用atexit标记的退出处理函数,和调用fclose关闭文件描述符。这样才会退出程序。
使用方法:
对于return : return 0;
对于exit : exit(0);
2. _exit和_Exit
_exit和_Exit是一样的。在系统看来,属于正常退出。但是比起exit,这两个退出函数不会调用atexit标记的退出处理函数,也不会调用fclose关闭文件描述符。
使用方法:
对于_exit: _exit(0);
对于_Exit: _Exit(0);
非正常退出:
1. abort:
abort这个函数的作用就是退出程序,并告诉系统这是非正常退出的。
使用方法:
abort();
2. assert:
assert是断言函数,使用时要包含上assert.h这个头文件。当assert里面的表达式为0的时候,程序就会非正常退出。
使用方法:
assert(表达式);
3. 收到相应的退出信号。
相应的例程在介绍atexit函数的时候写上。