Alo*_*ave 57
exit(1)(通常)表示终止失败.但是,它的使用是不可移植的.例如,在OpenVMS上,exit(1)实际上表示成功.
仅EXIT_FAILURE返回不成功终止的标准值,但1在许多实现中用于相同的标准值.
总结一下:
如果要编写完全可移植的代码使用,
EXIT_FAILURE对于失败案例.虽然,
您可以使用任何一个exit(0)或EXIT_SUCCESS成功案例.
请注意,EXIT_SUCCESS或0两者都相同.
参考:
C99标准:7.20.4.3 exit功能
第5段
最后,控制权返回给主机环境.如果status的值为
zero或EXIT_SUCCESS,则返回状态成功终止的实现定义形式.如果status的值为EXIT_FAILURE,则返回状态为不成功终止的实现定义形式.否则返回的状态是实现定义的.
Jer*_*fin 11
对于真正的可移植代码,EXIT_FAILURE是首选.C标准仅定义意为三个值:EXIT_FAILURE,0,及EXIT_SUCCESS(具有0和EXIT_SUCCESS基本上同义).
从实际角度来看,大多数典型系统也接受其他值.如果内存服务,Linux将允许您返回任何8位值和Windows 16位值.除非您真诚地关心移植到IBM大型机,VMS等,否则您可能不关心大多数不支持至少8位返回值的系统.
使用EXIT_FAILURE. 它是在整个操作系统中使用的常量。它的值可能不是 1,而且它在代码中更具描述性。
| 归档时间: |
|
| 查看次数: |
72474 次 |
| 最近记录: |