glibc文档和字节序

| 关于进程完成状态的glibc文档指出,宏WEXITSTATUS返回完成状态的低8位字节。   巨集:int WEXITSTATUS(int状态)      如果WIFEXITED的状态为true,则此宏返回子进程的退出状态值的低8位。 但是,“ 0”表示:
# define WEXITSTATUS(status)    __WEXITSTATUS (__WAIT_INT (status))
而且,
/usr/include/bits/waitstatus.h
提到:
/* If WIFEXITED(STATUS), the low-order 8 bits of the status.  */
#define __WEXITSTATUS(status)   (((status) & 0xff00) >> 8)
除非我的字节序概念全部弄乱了,否则低阶的8位将如何?还是libc假设数据以小端方式保存?     
已邀请:
这不是字节顺序问题。字节顺序是指数据如何存储在内存中;在大端或小端机器上,“ 4”提取15至8位,即“ 5”宏参数的第8至15个最低有效位。 文档和注释令人困惑,因为状态是指两个不同的事物。 退出的进程返回状态码。此退出状态在源中的类型为“ 6”(作为来自“ 7”的返回值或作为“ 8”的参数),但是,该值应在0到255之间。
wait
waitpid
系统调用还向呼叫者提供了
status
。此状态不同;现在,原始退出状态的低8位在15至8位。我假设文档中说WEXITSTATUS返回“低8位”,因为从出口角度看,这是退出状态的打包退出过程。     

要回复问题请先登录注册