Tre*_*key 2 c++ bash shell zsh return-code
参加以下C++程序:
#include <cstdlib>
int main(){exit(-1);}
Run Code Online (Sandbox Code Playgroud)
当我在任何运行这个程序zsh,bash或者sh,我得到如下结果:
$ ./test
$ echo $?
255
$
Run Code Online (Sandbox Code Playgroud)
如果我跑:
#include <cstdlib>
int main(){exit(256);}
Run Code Online (Sandbox Code Playgroud)
它产生以下结果:
$ ./test
$ echo $?
0
$
Run Code Online (Sandbox Code Playgroud)
shell解释0到255之间的返回码是否正常?
是否有可能产生超出此范围的值?
C++允许您从main:EXIT_SUCCESS和返回两个值EXIT_FAILURE.返回EXIT_SUCCESS与返回0相同,与调用具有相同的效果std::exit(0).
返回值以实现定义的方式传递回操作系统,操作系统对该值的作用也是实现定义的.最后,返回任何其他值的语义main也是实现定义的.
C++在这个问题上没有更多的话要说.您需要查阅平台的文档.
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |