Linux C程式設計 pid t的型別定義

2021-07-24 13:08:25 字數 1077 閱讀 8947

pid_t的型別定義

建立程序時經常會用到程序號的型別定義:pid_t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來:

1.首先在/usr/include/sys/types.h中有如下定義

#include

......

#ifndef __pid_t_defined

typedef __pid_t pid_t;

# define __pid_t_defined

#endif

可以看到pid_t 其實就是__pid_t型別。

2.在/usr/include/bits/types.h中可以看到這樣的定義

#include

#if __wordsize == 32

......

# define __std_type        __extension__ typedef

#elif __wordsize == 64

......

#endif

......

__std_type __pid_t_type __pid_t;    /* type of process identifications.  */

可以看出__pid_t 有被定義為 __extension__ typedef  __pid_t_type型別的。

3.在檔案/usr/include/bits/typesizes.h中可以看到這樣的定義(這個檔案中沒有包含任何的標頭檔案):

#define __pid_t_type        __s32_type

可以看出__pid_t_type有被定義為__s32_type這種型別。

4.在檔案/usr/include/bits/types.h中我們終於找到了這樣的定義:

#define    __s32_type        int

由此我們終於找到了pid_t的真實定義:實際他就是  int  型別的。

pid t的型別定義

pid t的型別定義 建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include...

pid t的型別定義

建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include ifndef pid...

關於pid t的理解

pid t pid fork 這裡的pid t類似乙個型別,就像int型一樣,int型定義的變數都是整型的,pid t定義的型別都是程序號型別。這個語句的意思是定義了乙個pid t型別的變數pid,fork 函式返回乙個程序號,這個程序號賦給了pid。pid t在標頭檔案types.h sys ty...