您的位置:首页 > 其它

<sys/types.h>的作用

2014-08-22 22:32 351 查看
因为每个系统的位数不一样

sys/types.h中文名称为基本系统数据类型。在应用程序源文件中包含 <sys/types.h> 以访问 _LP64 和 _ILP32 的定义。此头文件还包含适当时应使用的多个基本派生类型。尤其是以下类型更为重要:

caddr_t 核心地址。

clock_t 表示系统时间(以时钟周期为单位)。

comp_t 压缩的时钟滴答。

dev_t 用于设备号。

fd_set 文件描述集。

fpos_t 文件位置。

gid_t 数组值ID。

ino_t i节点编号。

off_t 用于文件大小和偏移量

mode_t 文件类型,文件创建模式。

pid_t 进程ID和进程组ID

ptrdiff_t 是一种带符号整型,用于对两个指针执行减法运算后所得的结果。

rlim_t 资源限制;

size_t 反映内存中对象的大小(以字节为单位)。

ssize_t 供返回字节计数或错误提示的函数使用。

time_t 以秒为单位计时。

uid_t 数值用户ID。

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

所有这些类型在 ILP32 编译环境中保持为 32 位值,并会在 LP64 编译环境中增长为 64 位值

32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。

现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数据模型,除了指针是64位,其他基本类型都没有变。

TYPE LP32 ILP32 LP64 ILP64 LLP64

CHAR 8 8 8 8 8

SHORT 16 16 16 16 16

INT 16 32 32 64 32

LONG 32 32 64 64 32

LONG LONG 64 64 64 64 64

POINTER 32 32 64 64 64
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: