Dav*_*ave 61
#include <stdio.h>
#include <sys/types.h>
int main()
{
printf("pid_t: %zu\n", sizeof(pid_t));
printf("uid_t: %zu\n", sizeof(uid_t));
printf("gid_t: %zu\n", sizeof(gid_t));
}
Run Code Online (Sandbox Code Playgroud)
编辑:每个受欢迎的请求(并且因为,实际上,99%的人来到这个问题将运行x86或x86_64)...
在运行Linux> = 3.0.0的i686和x86_64(so,32位和64位)处理器上,答案是:
pid_t: 4
uid_t: 4
gid_t: 4
Run Code Online (Sandbox Code Playgroud)
Joe*_*haw 21
在intel架构上,大小定义/usr/include/bits/typesizes.h如下:
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __PID_T_TYPE __S32_TYPE
Run Code Online (Sandbox Code Playgroud)
换句话说,uid_t和gid_t是无符号的32位整数,并且pid_t是带符号的32位整数.这适用于32位和64位.
我不确定它们在其他架构上是什么,因为我目前没有任何可用的,但最终的方法是编译打印输出的程序sizeof(uid_t),等等.
| 归档时间: |
|
| 查看次数: |
67231 次 |
| 最近记录: |