函數atexit

  按照ISO C的規定,一個進程能夠登記32個終止處理程序(exit handler),這些終止處理程序(即函數)將由exit自動調用,在exit自動調用以前,須要使用atexit函數登記這些函數。函數

  如下是各實現提供的終止處理程序個數限制:spa

限制 FreeBSD 8.0 Linux 3.2.0 Mac OS X 10.6.8 Solaris 10
ATEXIT_MAX 32 2147483647 2147483647 無限制

  atexit函數原型:code

#include<stdlib.h>

int atexit(void (*func)(void));

其中atexit的參數是一個函數地址,該函數無需向它傳遞參數,也不指望返回一個值。exit調用終止處理函數的順序和atexit登記的順序相反,若是一個函數被屢次登記,也會被屢次調用。blog

 

注:main函數返回一個整型值與用該值調用exit是等價的,即:
進程

exit(0);

等價於原型

return 0;

 但與return不一樣的是,exit()可在非main函數中結束程序/進程it

相關文章
相關標籤/搜索