Unix高级环境编程笔记-2--基本系统数据类型
admin
2023-02-04 04:40:05
0

本文内容摘自《Unix高级环境编程》第二版,如有错误,请指明,谢谢!

同时本文参考FreeBSD的sys/types.h文件对基本系统数据类型作进一步了解。


Unix系统的sys/types.h文件定义了某些与实现相关的数据类型,称为基本系统数据类型(primitive system data type)。这些数据类型都是用C的typedef来定义,并且都是大多数都是以_t结尾的。下面将列出部分基本系统数据类型。


数据类型  说明                FreeBSD中定义说明

caddr_t    核心地址              定义为 char * 类型

clock_t    时钟滴答计数器        定义为 __clock_t,每秒钟的时间滴答数为 CLOCKS_PER_SEC(FreeBSD中,此定义在time.h)

comp_t     压缩的时钟滴答数      定义在 sys/acct.h中,为 uint16_t

dev_t      设备号(主和次)      定义为 __dev_t,设备号或 struct cdev

fd_set     文件描述符集          定义在 sys/select.h 中,为 struct fd_set,可参考 select 系统调用。

fpos_t     文件位置              定义在 stdio.h 中,为 __off_t 类型

gid_t      用户组ID              定义为 __gid_t 类型

ino_t      i节点编号             定义为 __ino_t 类型

mode_t     文件类型,文件创建模式  定义为 __mode_t 类型

nlink_t    目录项的连接计数器    定义为 __nlink_t 类型

off_t      文件大小和偏移量,带符号  定义为 __off_t 类型,还定义 uoff_t(__uint64_t),表示无符号

pid_t      进程IP和进程组ID      定义为 __pid_t 类型

ptrdirr_t  两指针相减的结果      定义在 sys/stddef.h 中,定义为 __ptrdiff_t 类型

rlim_t     资源限制              定义为 __rlim_t 类型

sig_atomic_t  能原子访问的数据类型   与CPU架构相关,对i386,定义在 i386/include/signal.h 中

sigset_t   信号集                定义在 sys/select.h 和 sys/signal.h 中,均为 __sigset_t

size_t     对象字节数大小,不带符号    定义为 __size_t 类型

ssize_t    函数返回字节数大小,带符号  定义为 __ssize_t 类型

time_t     日历时间的计时器      定义为 __time_t 类型,与CPU架构相关

uid_t      数值用户ID            定义为 __uid_t 类型

wchar_t    能表示所有不同的字符码   在 stddef.h stdlib.h wchar.h 中均有定义,定义为 __wchar_t,而__wchar_t 定义在 sys/_types.h 中,定义为 __ct_rune_t,而 __ct_rune_t 定义为 int


在FreeBSD中,以上基本系统数据类型中,__XXX_t 基本上与CPU架构有关,如 i386,则定义在 i386/include/_types.h 中,但并非所有的 __XXX_t 类型都是这样,如 __wchar_t 就不是。





相关内容

热门资讯

急派超百名军医,美国准备地面战... 在加大空袭力度的同时,美军持续向中东增派战机、特种作战力量和后勤保障人员。与此同时,美军高层承认,单...
唐驳虎丨王虹、邓煜同获菲尔兹奖... 作者丨唐驳虎核心提要1. 本届国际数学家大会上,北大数院2007级校友王虹、邓煜同获菲尔兹奖,成为首...
菲尔兹奖获得者邓煜:爬山时破解... 作者:周盛楠 王僖妍·邓煜。(受访者供图)2026年7月23日,注定是改写中国数学历史的一天。邓煜、...
中国籍数学家王虹获菲尔兹奖 当地时间7月23日上午,2026年国际数学家大会在美国费城开幕,现场揭晓2026年菲尔兹奖得主。中国...
首次突破 屡创新高!一组数字解... 2026年上半年我国GDP同比增长4.7%经济韧性持续彰显在已经出炉的经济数据中更值得关注的还有“含...
男主播卖惨,66岁患癌老太花光... 今年3月,沈阳66岁的张阿姨在家养病期间刷视频时,被一名IP属地为湖北的男主播吸引。该主播主打演唱经...
松下智能马桶盖不喷水怎么回事 松下智能马桶盖不喷水怎么回事1、有时候新买的马桶在安装的时候工人有时候会不会告诉你需要开进水阀的,智...
松下智能马桶盖不喷水 1、有时候新买的马桶在安装的时候工人有时候会不会告诉你需要开进水阀的,智能马桶都是带有进水阀的,如果...
智能马桶盖不喷水故障维修方法 如果是出水口不喷水,先检查下是不是里面没水,或者水管出问题了,水管故障问题需找专业的维修师傅维修;若...
马桶水箱盖子碎了能换么 不能,建议更换整个水箱。方法:先检查排污管及产品内通道是否有异物;确定固定蹲便的安装位置、高度以及将...