C++ 中有两个宏,它们表示要在入口点的最后一行返回的数字。EXIT_FAILURE和EXIT_SUCCESS。如果我返回EXIT_FAILURE1,则绝对不会发生任何事情。我明确写了我的程序退出不成功,为什么什么都没发生?
您的流程的返回码对您的流程绝对没有影响。只有启动您的流程的父流程才能知道您的运行结果。
父进程通常是 shell,尽管它可以是进行exec(或等效)调用的任何其他机制。您EXIT_FAILURE向父进程表明出现问题。
例如,在外壳上:
./myprog || echo "Uh oh"
Run Code Online (Sandbox Code Playgroud)
仅当进程没有返回EXIT_SUCCESS( 0) 时才会显示“哦哦”部分。
行为良好的程序经常登录,为什么它有一个问题,它是专门STDERR。这有助于区分预期输出和错误输出。这不是自动为您完成的。这完全是你的责任。