成功完成程序后返回操作系统的正确值是什么
答案 0 :(得分:6)
return EXIT_SUCCESS;
来自main()
函数。
或者,std::exit(EXIT_SUCCESS)
来自程序中的任何位置(如果你有多个线程/进程,它会变得更复杂)。
请注意,在大多数平台(尤其是POSIX)上,EXIT_SUCCESS
的值为0
。因此,return 0
或exit(0)
通常也可以正常运作。
答案 1 :(得分:5)
成功时,main()
函数应返回0
。
如果您致电exit()
,则可以使用0
或宏EXIT_SUCCESS
进行呼叫。来自FDIS,18.5.8,关于void exit(int status)
:
如果status为零或EXIT_SUCCESS,则返回状态成功终止的实现定义形式。
要解释从main
返回零,这里是3.6.1.5:
main中的return语句具有离开main函数(销毁具有自动存储持续时间的任何对象)并使用返回值作为参数调用std :: exit的效果。如果控件到达main的末尾而没有遇到return语句,则效果是执行
return 0;
。