加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 进程的退出代码是否可以溢出小值?

发布时间:2020-12-16 03:46:33 所属栏目:百科 来源:网络整理
导读:我正在编写测试框架,在main()中我返回失败测试的数量.例如: int main() { int failedTests = runTests(); return failedTests;} 这个“int”溢出了吗?当我实际返回不同于0的东西时,我可以将%ERROR_LEVEL%设为== 0吗?它取决于主机操作系统吗?通常的最大
我正在编写测试框架,在main()中我返回失败测试的数量.例如:
int main() {
    int failedTests = runTests();
    return failedTests;
}

这个“int”溢出了吗?当我实际返回不同于0的东西时,我可以将%ERROR_LEVEL%设为== 0吗?它取决于主机操作系统吗?通常的最大值是多少?我可以确定一个整数< 32768(2 ^ 16 - 短)将永远适合? 编辑: 我遇到了python sys.exit的问题,它使用0-127范围(差不多)所以我现在小心了

解决方法

这取决于操作系统.在Linux上,它被限制为8位,因此可以是0(表示成功)或任何不大于255的正整数.参见 _exit(2)& wait(2).

只有两个值是标准化的(按名称):EXIT_SUCCESS(通常为0)和EXIT_FAILURE(通常为1).请注意,标准定义了名称(可能还有exit(0)的行为; …)但不是它们的值.

您可以将(失败测试的)数量写入stdout或通过某个程序参数指定的某个文件.

FreeBSD在其sysexits(3)中定义了一组退出名称和代码,但它们并未标准化,例如在POSIX.见POSIX documentation on exit.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读