我可以说一点英语,所以我希望你能理解我说的话。
我分叉子进程,然后我在子进程中进行ADD。 EX:56 + 48 = 104
如果值低于255,我可以使用“wexitstatus(status)”来获得答案。
但是如果值高于256,那就错了!
我该怎么办?
答案 0 :(得分:1)
如果程序返回退出代码> 255,程序完全错误,需要修复。那是违反Unix标准的。如果您不使用标准Unix,则可能需要在组织联系人中提供专家帮助。
从等待的联系方式():
WEXITSTATUS(stat_val)
如果WIFEXITED(stat_val)的值不为零,则此宏将计算子进程传递给_exit()或exit()的status参数的低8位或子进程的值从main()返回。
它限制为8位,这意味着1个字节,这意味着来自WEXITSTATUS的int只能在0到255之间。事实上,任何 Unix程序只会返回最多255个。
此外,许多操作系统/程序保留> 127表示系统指定的代码,所以你甚至不应该使用上面的任何东西。
如果您需要更多的返回码而不是126(因为0没有错误),请考虑将其写入STDOUT并挂钩。