在 Linux 中,c++ 可以返回退出代码吗?即此代码是否有效:
int main()
{
return -1;
}
我问这个代码是否从 bash/zsh 编译和执行的原因,返回值是 255,我认为这是因为它使用 8 位返回码,这意味着返回码是只允许在阳性之间。
这是正确的吗?
最佳答案
相关的系统调用是_exit()
,和POSIX itself specifies只有赋予 _exit()
的状态的低 8 位通常可用:
_exit(status)
The value of status may be0
,EXIT_SUCCESS
,EXIT_FAILURE
, or any other value, though only the least significant 8 bits (that is,status & 0377
) shall be available fromwait()
andwaitpid()
;
虽然它继续说“完整的值应该可以从 waitid()
”获得,但是在 Linux 上,我似乎仍然只得到低八位。
关于c++ - Linux,c++,否定退出代码,澄清?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44227722/