zoukankan      html  css  js  c++  java
  • atexit()函数

    atexit

     
      函数名: atexit
     
      头文件:#include<stdlib.h>
     
      功 能: 注册终止函数(即main执行结束后调用的函数)
     
      用 法: int atexit(void (*func)(void));
     
      注意:按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数,exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。
     
      程序例:
     
      #include <stdio.h>
     
      #include <stdlib.h>
     
      void exit_fn1(void)
     
      {
     
      printf("Exit function #1 called\n");
     
      }
     
      void exit_fn2(void)
     
      {
     
      printf("Exit function #2 called\n");
     
      }
     
      int main(void)
     
      {
     
      /* post exit function #1 */
     
      atexit(exit_fn1);
     
      /* post exit function #2 */
     
      atexit(exit_fn2);
     
      return 0;
     
      }
     
      输出:
     
      Exit function #2 called
     
      Exit function #1 called
     
      进程的终止方式:
     
      有8种方式使进程终止,其中前5种为正常终止,它们是
     
      1:从 main 返回
     
      2:调用 exit
     
      3:调用 _exit 或 _Exit
     
      4:最后一个线程从其启动例程返回
     
      5:最后一个线程调用 pthread_exit
     
      异常终止有3种,它们是
     
      6:调用 abort
     
      7:接到一个信号并终止
     
      8:最后一个线程对取消请求做出响应
     
      #include <stdlib.h?
     
      void exit (int status);
     
      void _Exit (int status);
     
      #include <unistd.h>
     
      void _exit (status);
     
      其中调用 _exit,_Exit 都不会调用终止程序
     
      异常终止也不会。
  • 相关阅读:
    Best Time to Buy and Sell Stock III
    Valid Palindrome
    Longest Substring Without Repeating Characters
    Copy List with Random Pointer
    Add Two Numbers
    Recover Binary Search Tree
    Anagrams
    ZigZag Conversion
    Merge k Sorted Lists
    Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/wanghetao/p/2431256.html
Copyright © 2011-2022 走看看