Windows (비 GUI)의 C/C++ 응용 프로그램의 경우, 다른 실패에 대한 올바른 오류 코드 목록은 무엇입니까? 나는 IBM과 다른 사람들과 같은 다양한 목록을 보았지만 프로그램이 종료 될 때 사용자에게 제공되는 일반적인 오류 코드에 대한 합의가 있었는지 궁금합니다.출구에서 리턴 오류 코드를 올바르게 사용하십시오.
답변
exit
에 대한 이식 가능한 값은 0
, EXIT_FAILURE
및 EXIT_SUCCESS
입니다. 0
은 EXIT_SUCCESS
과 같습니다.
에서 : http://www.cplusplus.com/reference/cstdlib/EXIT_SUCCESS/
프로그램에서 성공 종료에 대한 :
프로그램에서 실패 종료에 대한exit(EXIT_SUCCESS);
:
exit(EXIT_FAILURE);
Wikipedia에서 :
:매크로 EXIT_SUCCESS 및 EXIT_FAILURE 외에도 C 표준 은 리턴 코드의 의미를 정의하지 않습니다. 리턴 코드 사용 규칙은 플랫폼에 따라 다릅니다 (플랫폼 별 섹션 참조). 위키 피 디아에서
DOS DOS 용어에서
는 오류 수준은 실행 프로그램 또는 서브 루틴에 의해 반환되는 정수 종료 코드입니다. 오류 수준은 일반적으로 0에서 255까지입니다. DOS에서는 256 개의 오류 코드 만 사용할 수 있습니다.
윈도우
윈도우는 종료 코드로 부호있는 32 비트 정수를 사용합니다. [9] 프로세스가 초기화에 실패하면 Windows 시스템 오류 코드가 반환 될 수 있습니다. [10] Windows 시스템 오류 코드는 온라인에서 사용할 수 있습니다. [11]
종료 코드는 DOS에서 상속 된 errorlevel 용어로 인터프리터 CMD.exe와 같은 명령 줄을 통해 직접 참조됩니다. .NET Framework 프로세스 및 Windows PowerShell에서는이 개체를 Process 개체의 ExitCode 속성으로 참조합니다.
은 위키 피 디아에 따르면, 다음 link는 Windows 플랫폼
jcatki.no-ip.org/fncpp/cplusplus.com – Griwes
위키 백과가 잘못되었습니다. 0은'exit'에 유효한 인수입니다. –
관련된 오류 코드가 포함 된 이러한 표준은 내가 아는 한이 없습니다. 유일하게 표준은 EXIT_SUCCESS (stdlib.h에서)를 반환하는 것이 성공적인 경우에 대비합니다. 이렇게하면 프로그램을 호출하는 스크립트가 성공을 확인하는 데 도움이됩니다. 반환하는 오류 코드는 프로그램에 대한 문서화가 필요합니다. POSIX는 main에서 0-255 사이의 값을 반환 할 것을 권장합니다. 보통 0은 EXIT_SUCCESS입니다.
하나의 특정 실패 만있는 경우 EXIT_FAILURE를 사용할 수 있습니다.
Re : "일반적으로'0'은'EXIT_SUCCESS'"입니다 : 일치하는 모든 구현에서'0'과'EXIT_SUCCESS' ** 둘 다 성공을 나타 내기 위해 사용될 수 있습니다. –
- 1. NSFetchRequest를 올바르게 사용하십시오.
- 2. CGAffineTransformMakeScale을 올바르게 사용하십시오.
- 3. NSFileHandle을 올바르게 사용하십시오.
- 4. 각도로 데이터를 올바르게 사용하십시오.
- 5. SpinnerAdapter를 올바르게 사용하십시오.
- 6. std :: result_of_t를 올바르게 사용하십시오.
- 7. boost :: is_upper를 올바르게 사용하십시오.
- 8. NSSearchPathForDirectoriesInDomains를 올바르게 사용하십시오.
- 9. RelationshipEntity를 올바르게 사용하십시오.
- 10. CancelEventAgrs를 올바르게 사용하십시오.
- 11. .tagName을 올바르게 사용하십시오.
- 12. Maybe 모나드를 올바르게 사용하십시오.
- 13. OpenGL에서 stencil_texturing을 올바르게 사용하십시오.
- 14. 각도로 약속을 올바르게 사용하십시오.
- 15. GetRawInputBuffer를 올바르게 사용하십시오.
- 16. Windows Forms에서 IsDisposed를 올바르게 사용하십시오.
- 17. processing.org trig의 기능을 올바르게 사용하십시오.
- 18. 스레드 출구에서 대기자에게 알리기
- 19. SVN 및 CI를 올바르게 사용하십시오.
- 20. 프로덕션 환경에서 리턴 코드를 catch합니까?
- 21. Sqoop 오류의 리턴 코드를 인쇄하는 방법은 무엇입니까?
- 22. 파이썬 리턴 기능 오류
- 23. Ajax 데이터 리턴 오류
- 24. AsyncTask get()을 올바르게 사용하십시오.
- 25. 단위 테스트에서 MOQ를 올바르게 사용하십시오.
- 26. FirebirdSql의 매개 변수를 올바르게 사용하십시오.
- 27. Snap : PreRun 후크를 올바르게 사용하십시오.
- 28. 'flask peewee'에서 auth.login_required를 올바르게 사용하십시오.
- 29. 2.2로 마이그레이션하고 Action.asyc을 올바르게 사용하십시오.
- 30. MySQL에서 WHERE NOT을 올바르게 사용하십시오.
표준 (C 중 적어도)은 '0'의 반환 값과 'EXIT_SUCCESS'와의 관계를 알려주지 않습니다 (내가 아는 한). 표준을 참조 할 수 있습니까? – Shahbaz
그들은 동등하지만 반드시 같지는 않습니다. @Shahbaz. 즉, 어느 하나를'exit'로 전달하면 프로그램은 "implementation * defined status of successful termination *"을 반환하게됩니다. (7.20.4.3/5) 일어나는 것을 보장하는 가장 간단한 방법은 값을 동일하게 만드는 것이지만, 여러 개의 "성공"값 (즉, 'EXIT_SUCCESS')을 인식하기 위해'exit '를 구현할 수 있습니다. 로 확대됨). –
@RobKennedy, 맞아. "상태 값이 ** 제로 **이거나 EXIT_SUCCESS 인 경우"에서 0을 놓쳤습니다. – Shahbaz