比如创建新进程时候
pid_t = fork();
生成的进程ID用的是pid_t类型来接收的。
这是POSIX中的新规定,UNIX早期版本规定此函数返回一整型。
此外还有ssize_t类型,size_t类型等。
这种以 _t 结尾的数据类型被称为原始系统数据类型。
它们通常在头文件<sys/types.h>中定义(<unistd.h>中已经包含该头文件)。
这些原始系统数据类型通常是用typedef来定义的一些基本数据类型的别名,目的是为了代码的可移植性。
比如如果不同原始系统数据类型,在一个系统上直接用int来作为进程ID或者某些参数,如果在另一个系统上要求用short来实现的话,就需要把源代码中的int全部改成short,比较麻烦。
但是如果在源代码中全部使用pid_t,然后在<sys/types.h>中定义:
typedef int pid_t;
当迁移代码的时候,直接改成:
typedef short pid_t;
然后重新编译源代码即可。