使用以下C++程序:
#include <cstdlib>
int main(){exit(-1);}
当我在zsh
、bash
或sh
中运行此程序时,我会得到以下结果:
$ ./test
$ echo $?
255
$
如果我运行:
#include <cstdlib>
int main(){exit(256);}
它产生以下内容:
$ ./test
$ echo $?
0
$
shell解释0-255之间的返回代码正常吗
是否可以产生超出此范围的值?
C++允许您从main
返回两个值:EXIT_SUCCESS
和EXIT_FAILURE
。返回EXIT_SUCCESS
与返回0
相同,具有与调用std::exit(0)
相同的效果。
返回值以实现定义的方式传递回操作系统,操作系统对该值所做的操作也是实现定义的。最后,还定义了从main
返回任何其他值的语义。
C++在这个问题上没有什么好说的了。您需要查阅平台的文档。