what is the purpose of atexit function?

后端 未结 3 915
迷失自我
迷失自我 2021-01-21 01:13

I know when the address of the function is passed to atexit function,
the function is excuted.

#include 
int atexit(void (*fun         


        
相关标签:
3条回答
  • 2021-01-21 01:49
    #include<stdlib.h>
    int atexit(void (*func)(void));
    

    The above declaration says that we pass the address of a function as the argument to atexit. When this function is called, it is not passed any arguments and is not expected to return a value. The exit function called these functions in reverse order of their registration. Each function is called as many times as they registered.

    0 讨论(0)
  • 2021-01-21 01:50

    atexit would be used for some code that you want to execute when the application terminates, regardless of where it was exited from. One example would be an application-wide logger. You would call atexit(flush_log), so when the application exits, the log will be flushed, without the developer having to remember to flush it.

    0 讨论(0)
  • Yes, atexit is related to exit.

    exit can call functions which are automatically called before a program exits. These functions are called exit handlers and are registered by calling atexit function.

    #include<stdio.h>                 
    
    main(void) {                        
    atexit(func);
    }
    
    func(void) 
    {
        ...
    }
    
    0 讨论(0)
提交回复
热议问题