2011-08-31 2 views

답변

6
return EXIT_SUCCESS; 

의 성공적으로 완료되면 운영 체제로 돌아가려면 올바른 값 무엇입니까.

또는 std::exit(EXIT_SUCCESS) (프로그램에서 여러 곳의 스레드/프로세스가있는 경우 더 복잡해집니다).

EXIT_SUCCESS은 대부분의 플랫폼 (특히 POSIX)에서 0의 값을 갖습니다. 따라서 return 0 또는 exit(0)은 일반적으로 잘 작동합니다.

+0

@Kerrek : 링크를 제공해 주시겠습니까? –

+0

죄송합니다. 나는'0'과'EXIT_SUCCESS'가 똑같은 효과를 가지고 있다고 생각한다. 나는 아래의 표준으로부터 몇 개의 인용문을 올렸다. 요점은'main()'의 기본 동작은'0'을 반환한다는 것인데,'EXIT_SUCCESS'와 같은 효과가 있지만'main'에서 명시 적으로 반환하는 것이 더 나은 '0'이라고 생각합니다. –

+0

@Kerrek : 당신의 요지를 봅니다. –

5

main() 함수는 성공시 0을 반환해야합니다.

exit()으로 전화 할 경우 0 또는 EXIT_SUCCESS으로 전화 할 수 있습니다. FDIS, 18.5.8에서 void exit(int status)에 관하여 :

을 상태가 제로 또는 EXIT_SUCCESS, 성공적으로 종료가 반환되는 상태의 구현 정의 형태 인 경우.

여기 3.6.1.5입니다 main에서 제로를 반환 설명하기 :

주에있는 return 문은 주요 기능 (자동 저장 기간이 물건을 파괴)를 떠나 표준을 호출하는 효과가 있습니다 :: 반환 값을 인수로 사용하여 exit하십시오. 제어가 return 문을 만나지 않고 main의 끝에 도달하면 효과는 return 0;을 실행하는 것입니다.

관련 문제