atexit
From cppreference.net
|
헤더 파일에 정의됨
<stdlib.h>
|
||
|
int
atexit
(
void
(
*
func
)
(
void
)
)
;
|
||
func
가 가리키는 함수를 정상적인 프로그램 종료 시(예:
exit()
호출 또는
main()
에서 반환) 호출되도록 등록합니다. 등록된 순서의 역순으로 함수가 호출되며, 즉 가장 마지막에 등록된 함수가 가장 먼저 실행됩니다.
동일한 함수가 여러 번 등록될 수 있습니다.
구현체는 최소 32 개의 함수 등록을 지원함이 보장됩니다. 정확한 제한은 구현체에 따라 정의됩니다.
목차 |
매개변수
| func | - | 정상적인 프로그램 종료 시 호출될 함수에 대한 포인터 |
반환값
0 등록이 성공하면 0, 그렇지 않으면 0이 아닌 값을 반환합니다.
예제
이 코드 실행
#include <stdlib.h> #include <stdio.h> void f1(void) { puts("f1"); } void f2(void) { puts("f2"); } int main(void) { if ( ! atexit(f1) && ! atexit(f2) && ! atexit(f2) ) return EXIT_SUCCESS ; // atexit registration failed return EXIT_FAILURE ; } // <- if registration was successful calls f2, f2, f1
출력:
f2 f2 f1
참조문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.22.4.2 atexit 함수 (p: 255)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.22.4.2 atexit 함수 (p: 350)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.20.4.2 atexit 함수 (p: 315)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 7.10.4.2 atexit 함수 (p: 156)
참고 항목
|
(C11)
|
quick_exit
호출 시 실행될 함수를 등록합니다
(함수) |
|
C++ documentation
for
atexit
|
|