programing

exit() 함수 사용

goodcopy 2022. 8. 10. 00:18
반응형

exit() 함수 사용

언제 어떻게 사용할 수 있는지 알고 싶습니다.exit()내 책에 나와 있는 프로그램과 같은 기능을 합니다.

#include<stdio.h>

void main()
{
    int goals;
    printf("enter number of goals scored");
    scanf("%d",&goals);

    if(goals<=5)
        goto sos;
    else
    {
        printf("hehe");
        exit( );
    }
    sos:
    printf("to err is human");
}

실행 시 ERROR: call to undefined function exit()이 표시됩니다.

또한 프로그램이 실행되는 창을 닫는 옵션을 만드는 방법을 알고 싶습니다.예를 들어 메뉴 구동 프로그램을 만들었는데, 그 중 하나가 '메뉴 종료'였습니다.프로그램을 종료하려면(즉, 창을 닫는 등) 어떻게 해야 합니까?

사용해보십시오.exit(0);대신.함수에는 정수 파라미터가 필요합니다.그리고 잊지 말고#include <stdlib.h>.

exit함수는 stdlib 헤더로 선언되어 있기 때문에

#include <stdlib.h>

사용할 수 있도록 프로그램 상단에서exit.

또,exit정수 인수를 사용하기 때문에 다음과 같이 부를 수 없습니다.exit(), 로서 전화할 필요가 있습니다.exit(0)또는exit(42). 0은 보통 프로그램이 정상적으로 완료되었음을 의미하며 0이 아닌 값이 오류 코드로 사용됩니다.

미리 정의된 매크로도 있습니다.EXIT_SUCCESS그리고.EXIT_FAILURE,예.exit(EXIT_SUCCESS);

남자 퇴장을 시도해봐.


아, 그리고:

#include <stdlib.h>

int main(void) {
  /*  ...  */
  if (error_occured) {
    return (EXIT_FAILURE);
  }
  /*  ...  */
  return (EXIT_SUCCESS);
}

exit(int code);에 선언되어 있다.stdlib.h그래서 당신은 필요한 것이

#include <stdlib.h>

기타:
- 에 대한 파라미터가 없습니다.exit(), 이 방법에는int그러니 하나를 제공하라.
- 이 책을 불태워라, 이 책은goto이는 (Linux 커널 해커 이외의 모든 사람에게) 매우 매우 나쁜 것입니다.

편집:
아, 그리고

void main()

나쁜 점도 있습니다.

int main(int argc, char *argv[])

다음으로 의 사용 예를 나타냅니다.exit()기능.

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    printf("Start of the program....\n");
    printf("Exiting the program....\n");
    exit(0);
    printf("End of the program....\n");
    return 0;
}

산출량

프로그램 시작...
프로그램을 종료하는 중...

exit()function은 인수 없는 반환 유형을 가진 함수 유형입니다.stdlib 헤더 파일에 의해 정의됩니다.

를 사용해야 합니다.( exit(0) or exit(EXIT_SUCCESS))또는(exit(non-zero)또는exit(EXIT_FAILURE) ).

종료 코드를 부모 프로세스에 반환하는 것 외에 -

UNIX 에서는, 첫 번째 호출시에 exit()를 호출해(역순으로), atexit() 호출에 의해 등록된 모든 함수를 생략했다고 생각합니다.

자세한 내용은 SUSv4를 참조하십시오.

unix와 같은 운영체제에서 exit은 시스템 호출 그룹에 속합니다.시스템 호출은 사용자 코드(당신의 코드)가 커널 코드를 호출할 수 있도록 하는 특별한 호출입니다.따라서 종료콜은 OS에 제어권을 되돌리기 전에 OS 고유의 청소 액션을 수행하여 프로그램을 종료합니다.

#include <stdlib.h>

// example 1
int main(int argc, char *argv){
  exit(EXIT_SUCCESS);
}

// example 2
int main(int argc, char *argv){
  return 0;
}

컴파일러에 따라서는, 양쪽의 예로부터 같은 opcode를 얻을 수 있는 것도 있습니다만, 그렇지 않은 것도 있습니다.예를 들어, 첫 번째 함수의 opcode는 다른 함수와 마찬가지로 두 번째 예시에 포함될 스택 포지셔닝 opcode를 포함하지 않습니다.두 가지 예를 모두 컴파일하여 분해하면 차이를 알 수 있습니다.

코드의 어느 부분에서도 exit을 사용할 수 있으며 프로세스가 종료되었는지 확인할 수 있습니다.정수 매개 변수를 포함하는 것을 잊지 마십시오.

이치노Goto 기능을 사용하는 것은 C 프로그래밍에서 완전히 No입니다.
, 「」, .h」라고 써, 헤더 「stdlib.h」를 합니다.#include <iostream.h>를 하는 경우exit()() 인수 .exit()를 사용합니다.exit(0)으로 완료되고, 「」가 되었을 , 「」가 됩니다.exit(-1)또는 프로그램에 오류가 있는 경우 0이 아닌 값을 인수로 사용하여 함수를 종료합니다.

하다, 하다, 하다, 하다, 하다를 한 줄 더 .#include <stdlib.h> 및 ""를 하도록 하겠습니다.exit 에 해야 합니다.exit(any_integer).

헤더 파일 " " "#include<process.h>를 치환합니다.exit();exit(0);다른 컴파일러는 모르겠지만 터보 C에서는 확실히 동작합니다.

stdlib.h'아까보다'라고 불러주세요.abort();프로그램을 종료하고 싶은 모든 장소에서 사용할 수 있습니다.다음과 같이 합니다.

switch(varName)
{
    case 1: 
     blah blah;
    case 2:
     blah blah;
    case 3:
     abort();
}

를 입력했을 때 이 케이스3 에서는, 「3」을 호출합니다.abort 키를 바로 됩니다.라고 입력합니다.

stdlib 및 iostream 대신 process.h를 사용합니다.100% 동작합니다.

언급URL : https://stackoverflow.com/questions/2425167/use-of-exit-function

반응형