Unix高级环境编程笔记-2--基本系统数据类型-创新互联

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

创新互联建站-专业网站定制、快速模板网站建设、高性价比拉萨网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式拉萨网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖拉萨地区。费用合理售后完善,十年实体公司更值得信赖。

同时本文参考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 就不是。


另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Unix高级环境编程笔记-2--基本系统数据类型-创新互联
当前地址:http://myzitong.com/article/pehji.html