Namespaces
Variants

_Exit

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

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

at_quick_exit() 또는 atexit() 에 전달된 함수들은 호출되지 않습니다. 기록되지 않은 버퍼링된 데이터를 가진 열린 스트림이 플러시되는지, 열린 스트림이 닫히는지, 임시 파일이 제거되는지는 구현에 따라 정의됩니다.

만약 exit_code 0 이거나 EXIT_SUCCESS 인 경우, 성공적인 종료를 나타내는 구현 정의 상태가 호스트 환경에 반환됩니다. 만약 exit_code EXIT_FAILURE 인 경우, 비성공적 인 종료를 나타내는 구현 정의 상태가 반환됩니다. 다른 경우에는 구현 정의 상태 값이 반환됩니다.

목차

매개변수

exit_code - 프로그램의 종료 상태

반환값

(없음)

예제

#include <stdlib.h>
#include <stdio.h>
/* _Exit does not call functions registered with atexit. */
void f1(void)
{
    puts("pushed first");
}
void f2(void)
{
    puts("pushed second");
}
int main(void)
{
    printf("Enter main()\n");
    atexit(f1);
    atexit(f2);
    fflush(stdout);   /* _Exit may not flush unwritten buffered data */
    _Exit(0);
}

출력:

Enter main()

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.22.4.5 The _Exit 함수 (p: 256)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.22.4.5 _Exit 함수 (p: 352)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.20.4.4 _Exit 함수 (p: 316)

참고 항목

비정상적인 프로그램 종료를 유발합니다 (정리 작업 없음)
(function)
정리 작업과 함께 정상적인 프로그램 종료를 유발합니다
(function)