Namespaces
Variants

quick_exit

From cppreference.net
헤더 파일에 정의됨 <stdlib.h>
_Noreturn void quick_exit ( int exit_code ) ;
(C11 이후)
(C23 이전)
[ [ noreturn ] ] void quick_exit ( int exit_code ) ;
(C23 이후)

리소스를 완전히 정리하지 않고 정상적인 프로그램 종료를 발생시킵니다.

at_quick_exit 에 전달된 함수들은 등록된 순서의 역순으로 호출됩니다. 등록된 함수들을 호출한 후, _Exit ( exit_code ) 를 호출합니다.

atexit 에 전달된 함수나 signal 에 전달된 시그널 핸들러는 호출되지 않습니다.

목차

매개변수

exit_code - 프로그램의 종료 상태

반환값

(없음)

예제

#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
    puts("pushed first");
    fflush(stdout);
}
void f2(void)
{
    puts("pushed second");
}
void f3(void)
{
    puts("won't be called");
}
int main(void)
{
    at_quick_exit(f1);
    at_quick_exit(f2);
    atexit(f3);
    quick_exit(0);
}

출력:

pushed second
pushed first

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.22.4.7 quick_exit 함수 (p: 257)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.22.4.7 quick_exit 함수 (p: 353)

참고 항목

비정상적인 프로그램 종료를 유발합니다 (정리 작업 없음)
(함수)
exit() 호출 시 실행될 함수를 등록합니다
(함수)
quick_exit 호출 시 실행될 함수를 등록합니다
(함수)
C++ documentation for quick_exit