Linux/Unix中的基本系统数据类型

历史上,某些UNIX变量已与某些C数据类型联系在一起,例如,历史上主、次设备号存放在一个16位的短整型中, 8位表示主设备号,另外 8位表示次设备号。但是,很多较大的系统需要用多于 256个值来表示其设备号,于是,就需要有一种不同的技术。

(确实, SVR4用32位表示设备号:14位用于主设备号,18位用于次设备号。)

头文件<sys/types.h>中定义了某些与实现有关的数据类型,它们被称之为基本系统数据类型(primitive system data type)。有很多这种数据类型定义在其他头文件中。在头文件中这些数据类型都是用C的typedef设施来定义的。它们绝大多数都以 _t 结尾。表2-8中列出了本书将使用的基本系统数据类型。

caddr_t 内存地址

clock_t 时钟滴答计数器(进程时间)comp_t 压缩的时钟滴答dev_t 设备号(主和次)fd_set 文件描述符集fpos_t 文件位置gid_t 数值组IDino_t i 节点编号mode_t 文件类型,文件创建方式n1ink_t 目录项的连接计数off_t 文件长度和位移量(带符号的)pid_t 进程ID和进程组ID(带符号的)ptrdiff_t 两个指针相减的结果(带符号的)r1im_t 资源限制sig_atomic_t 能原子地存取的数据类型sigset_t 信号集size_t 对象(例如字符串)长度(不带符号的)ssize_t 返回字节计数的函数(带符号的)time_t 日历时间的秒计数器( 1.10节)uid_t 数值用户ID

wchar_t 能表示所有不同的字符码

用这种方式定义了这些数据类型后,在编译时就不再需要考虑随系统不同而变的实施细节,在本书中涉及到这些数据类型的地方,我们会说明为什么使用它们。

自《Unix高级环境编程》

,就是对虚怀若谷谦虚谨慎八个字真正理解的人,

Linux/Unix中的基本系统数据类型

相关文章:

你感兴趣的文章:

标签云: