【发布时间】:2016-04-19 18:59:52
【问题描述】:
我正在编写一个测试框架,并在 main() 中返回失败测试的数量。例如:
int main() {
int failedTests = runTests();
return failedTests;
}
那么这个“int”会溢出吗?当我实际返回不同于 0 的值时,我可以将 %ERROR_LEVEL% 变为 == 0 吗?它取决于主机操作系统吗?通常的最大值是多少?我可以确定整数
编辑:
我遇到了 python sys.exit 的问题,它总是(几乎)使用 0-127 范围,所以我现在要小心
【问题讨论】:
-
%ERROR_LEVEL%不是适用于 windowscmdshell 吗?对于bash,您使用$?IIRC。 -
@πάνταῥεῖ 是的 - 我的问题适用于所有平台 - 任何信息都是有用的
-
如果想在bash等中获取program的最后一个返回值,使用
$?即可。 -
有三个可移植的返回值:0、
EXIT_SUCCESS和EXIT_FAILURE。后两者在和 中定义。除此之外,您还需要了解特定于系统的行为。
标签: c++ bash cmd terminal exit-code