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