我是C的新手,抱歉,如果我的问题是基本的,下面是让我困惑的代码:
wait.h.h
# define WEXITSTATUS(status) __WEXITSTATUS (status)warstatus.h
/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)我的问题是:
问题1-注释说(status) & 0xff00) >> 8检索低阶8位的状态。但是它看起来像是检索状态的中间8位(或第二位低阶8位)?
Q2-为什么有一个连接WEXITSTATUS(status)和(((status) & 0xff00) >> 8)的中间宏(((status) & 0xff00) >> 8),为什么我们不能将wait.h中的所有内容作为:
# define WEXITSTATUS(status) (((status) & 0xff00) >> 8)发布于 2020-09-09 01:30:06
status,而是指来自所描述的位置的status。返回子程序的退出状态。这包括状态参数中最不重要的8位,这些子参数是在对exit(3)或_exit(2)的调用中指定的,或者作为main()中返回语句的参数。
__WEXITSTATUS。https://stackoverflow.com/questions/63803462
复制相似问题