建立程序時經常會用到程序號的型別定義: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...
Linux C程式設計 pid t的型別定義
pid t的型別定義 建立程序時經常會用到程序號的型別定義 pid t。我們都知道這個型別定義實際上就是int型。但是在linux下的c中的標頭檔案中這個定義到底是怎麼定義的呢?今天就把以前找這個定義的過程貼出來 1.首先在 usr include sys types.h中有如下定義 include...
關於pid t的理解
pid t pid fork 這裡的pid t類似乙個型別,就像int型一樣,int型定義的變數都是整型的,pid t定義的型別都是程序號型別。這個語句的意思是定義了乙個pid t型別的變數pid,fork 函式返回乙個程序號,這個程序號賦給了pid。pid t在標頭檔案types.h sys ty...