at_quick_exit
From cppreference.net
|
헤더 파일에 정의됨
<stdlib.h>
|
||
|
int
at_quick_exit
(
void
(
*
func
)
(
void
)
)
;
|
(C11 이후) | |
func
가 가리키는 함수를 빠른 프로그램 종료 시(
quick_exit
를 통해) 호출되도록 등록합니다.
여러 스레드에서 이 함수를 호출해도 데이터 경쟁이 발생하지 않습니다. 구현체는 최소 32개 함수의 등록을 지원함이 보장됩니다. 정확한 제한은 구현체에 따라 정의됩니다.
등록된 함수들은 정상적인 프로그램 종료 시에는 호출되지 않습니다. 해당 경우에 함수를 호출해야 한다면, atexit 를 사용해야 합니다.
목차 |
매개변수
| func | - | 빠른 프로그램 종료 시 호출될 함수에 대한 포인터 |
반환값
0 등록이 성공하면 0, 그렇지 않으면 0이 아닌 값을 반환합니다.
예제
이 코드 실행
#include <stdlib.h> #include <stdio.h> void f1(void) { puts("pushed first"); fflush(stdout); } void f2(void) { puts("pushed second"); } int main(void) { at_quick_exit(f1); at_quick_exit(f2); quick_exit(0); }
출력:
pushed second pushed first
참고문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.22.4.3 at_quick_exit 함수 (p: 255)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.22.4.3 at_quick_exit 함수 (p: 351)
참고 항목
|
비정상적인 프로그램 종료를 유발합니다 (정리 작업 없음)
(function) |
|
|
정리 작업과 함께 정상적인 프로그램 종료를 유발합니다
(function) |
|
|
exit()
호출 시 실행될 함수를 등록합니다
(function) |
|
|
(C11)
|
완전한 정리 작업 없이 정상적인 프로그램 종료를 유발합니다
(function) |
|
C++ documentation
for
at_quick_exit
|
|