source

Linux에서 pid_t, uid_t, gid_t의 크기

factcode 2023. 6. 13. 22:50
반응형

Linux에서 pid_t, uid_t, gid_t의 크기

Linux 시스템(32비트 또는 64비트)의 경우 크기는pid_t,uid_t,그리고.gid_t?

#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));
}

편집: 일반적인 요청에 따라(실제로 이 질문에 응답하는 사람의 99%가 x86 또는 x86_64를 실행할 예정이기 때문에)...

Linux >= 3.0.0을 실행하는 i686 및 x86_64(32비트 및 64비트) 프로세서에서는 다음과 같이 답합니다.

pid_t: 4
uid_t: 4
gid_t: 4

intel 아키텍처에서 크기는 다음과 같이 정의됩니다./usr/include/bits/typesizes.h:

#define __UID_T_TYPE            __U32_TYPE
#define __GID_T_TYPE            __U32_TYPE
#define __PID_T_TYPE            __S32_TYPE

다른 말로 하면,uid_t그리고.gid_t부호 없는 32비트 정수이고pid_t는 부호 있는 32비트 정수입니다.이는 32비트와 64비트 모두에 적용됩니다.

현재 사용 가능한 아키텍처가 없기 때문에 다른 아키텍처에 무엇이 있는지는 잘 모르겠지만, 최종적인 방법은 출력을 출력하는 프로그램을 컴파일하는 것입니다.sizeof(uid_t),기타.

표준은 다음을 정의합니다.pid_t"서명된 정수 유형" 및uid_t그리고.gid_t단순히 "모뎀 유형"으로 간주됩니다(따라서 휴대용 코드는 특정 유형을 가정해서는 안 됩니다).

언급URL : https://stackoverflow.com/questions/1922761/size-of-pid-t-uid-t-gid-t-on-linux

반응형