c++ - Linux,c++,否定退出代码,澄清?

标签 c++ linux bash return zsh

在 Linux 中,c++ 可以返回退出代码吗?即此代码是否有效:

int main()
{
  return -1;
}

我问这个代码是否从 bash/zsh 编译和执行的原因,返回值是 255,我认为这是因为它使用 8 位返回码,这意味着返回码是只允许在阳性之间。

这是正确的吗?

最佳答案

相关的系统调用是_exit(),和POSIX itself specifies只有赋予 _exit() 的状态的低 8 位通常可用:

_exit(status)
The value of status may be 0, EXIT_SUCCESS, EXIT_FAILURE, or any other value, though only the least significant 8 bits (that is, status & 0377) shall be available from wait() and waitpid();

虽然它继续说“完整的值应该可以从 waitid()”获得,但是在 Linux 上,我似乎仍然只得到低八位。

关于c++ - Linux,c++,否定退出代码,澄清?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44227722/

相关文章:

c++ - 让用户在字符串中间键入(c/c++)?

c++ - std::list pop 和 erase 方法无法销毁已删除的项目

复制文件后MySQL表不存在

Bash:检查一个十进制数是否大于另一个十进制数

linux - Bash - 重命名多个文件扩展名

bash - 如何使用 Bash 调用 redis-cli get?

c++ - 如何将字符数组转换为字符串?

c++ - 在对话框中以编程方式更改 Tab 键顺序的其他方法

java - 哪些操作系统支持在 Java 中监视 native (类似 inotify 的)文件

linux - nfc标签ACR1251U在树莓派上的使用