当程序正确完成时,您应该使用 EXIT_SUCCESS,如果没有,您应该使用 EXIT_FAILURE。EXIT_SUCCESS 为零,零可移植到任何操作系统,而 EXIT_FAILURE 则从 UNIX 更改为 Windows。这些常量在stdlib.h
标题中定义。
#include <stdlib.h>
int main()
{
int toret = EXIT_SUCCESS;
if ( !( /* do something useful here */ ) ) {
toret = EXIT_FAILURE;
}
return toret;
}
当为控制台编写程序时,程序的返回码更有用。如今,除非您在非常专业的环境中工作,否则这种情况已很少见(即使现在这种情况也在发生变化,工作流程工具可用)。
正如@Benoit 所说,退出代码告诉操作系统何时操作成功与否。如果退出代码意味着失败,那么您可以中断批处理程序的流程,因为它不太可能成功。
例如,如果编译成功,编译器的退出代码可以为零,如果编译不成功,则可以有任何其他值。在 Windows 中,这可以通过操作系统变量“errorlevel”访问:
gcc helloworld.cpp -ohelloworld.exe
goto answer%errorlevel%
:answer0
copy helloworld.exe c:\users\username\Desktop
echo Program installed
goto end
:answer1
echo There were errors. Check your source code.
:end
echo Now exiting...
编译成功后,此 Windows 批处理文件会在桌面“安装”helloworld.exe。由于您可以通过双击触发批处理文件的执行,因此可以避免触摸命令行进行编译。
当然,考虑到集成环境可以更好地管理(如果退出代码不存在,它们将无法正常工作)。还要注意make在这个领域是最好的:
https://en.wikipedia.org/wiki/Make_(软件)
还需要退出代码才能正确运行。