sha*_*enk 24 c unix posix fork signals
我试图了解它是如何WEXITSTATUS(status)工作的.我遇到了一段代码,其中返回值WEXITSTATUS(status)被添加到变量中.
这是片段:
waitpid(-1, &status, 0);
counter += WEXITSTATUS(status);
Run Code Online (Sandbox Code Playgroud)
如何WEXITSTATUS计算返回值?
alk*_*alk 21
WEXITSTATUS(stat_val)是一个宏(所以实际上它并没有" 返回 "某些东西,而是"评估"某些东西).
有关它的工作原理,您可能希望在您使用的C编译器附带的标题(应该是#included via <sys/wait.h>)中查找它.
这个marco的实现可能因C编译器而异.
请注意,如果宏WIFEXITED(stat_val)给你一个不等于的值,这个宏只给出一个合理的值0.
来自waitpid()POSIX规范的 Verbatim :
WEXITSTATUS(stat_val)
如果WIFEXITED(stat_val)的值不为零,则此宏计算为子进程传递给_exit()或exit()的status参数的低8位,或子进程从main返回的值 ().
添加特定程序的返回代码(s?)背后的动机只有代码的作者和希望存在的文档才知道.
| 归档时间: |
|
| 查看次数: |
78775 次 |
| 最近记录: |