Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1477794
  • 博文数量: 842
  • 博客积分: 12411
  • 博客等级: 上将
  • 技术积分: 5772
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:43
文章分类

全部博文(842)

文章存档

2013年(157)

2012年(685)

分类: 系统运维

2012-05-14 18:59:26



历史上,特定的C数据类型与选定的UNIX系统变量相关联。比如,主设备号和从设备号被存储在一个16位的整型值里,其中8位表示主设备号,而另8位表示 从设备号。然而更大的系统需要比256更大的值来表示设备号,所以需要不同的技术。(事实上,Solaris使用32位表示设备号:14位表示主设备而 18位表示从设备。)


头文件定义了一些实现相关的数据类型,被称为原始系统数据类型。更多的数据类型也定义在了其它头文件里。这些数据类型使用C的typedef定义在头文件里。大多数以_t结尾。下表列出了许多本文本将会碰到的原始数据类型:

一些通用的原始系统数据类型
类型
描述
caddr_t 核心地止(core address)
clock_t 时钟周期计数
comp_t 压缩的时候周期
dev_t 设备号(主设备和从设备)
fd_set 文件描述符集合
fpos_t 文件位置
gid_t 数字的组ID
ino_t i-node数
mode_t 文件类型,文件创建模式
nlink_t 目录项的链接数
off_t 文件大小与偏移量(有符号的)
pid_t 进程ID和进程组ID(有符号的)
ptrdiff_t 两个指针的差值(有符号的)
rlim_t 资源限制
sig_atomic_t 可以原子访问的数据类型
sigset_t 信号集
size_t 对象(比如字符串)的大小(无符号的)
ssize_t 函数的返回字节数(有符号的)
time_t 日历时间的秒数
uid_t 数字的用户ID
wchar_t 表示所有不同的字符编码
通过用这种方式定义数据类型, 我们不在程序中包含根据系统不同而有所区别的实现细节。我们在本文后面会描述所有这些数据类型的用途。
阅读(370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~