首先来了解一下Linux中常见的头文件有哪些
其实这些头文件都是根据各种国际标准定义出来的
1.ISO-C标准定义的头文件
ISO-C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是UNIX系统。
头文件 说明
<assert.h> 验证程序断言
<complex.h> 支持复数算术运算
<ctype.h> 字符支持
<errno.h> 出错码
<fenv.h> 浮点环境
<float.h> 浮点常量
<inttypes.h> 整型格式转换
<iso646.h> 替代关系操作符宏
<limits.h> 实现常量,整型最大值等
<locale.h> 局部类型,语言设置
<math.h> 数学常量
<setjmp.h> 非局部goto
<signal.h> 信号
<stdarg.h> 可变参数表
<stdbool.h> 布尔类型和值
<stddef.h> 标准定义
<stdint.h> 整形
<stdio.h> 标准I/O库
<stdlib.h> 使用程序函数
<string.h> 字符串操作
<tgmath.h> 通用类型数学宏
<time.h> 时间和日期
<wchar.h> 扩展的多字节和宽字符支持
<wctype.h> 宽字符分类和映射支持
2.IEEE POSIX标准定义的头文件
POSIX指的是操作系统接口标准,该标准的目的是提高应用程序在各种UNIX系统环境之间的可移植性,它定义了“依从POSIX的”操作系统必须提供的各种服务。
POSIX标准定义的必须的头文件
头文件 说明
<dirent.h> 目录项
<fcntl.h> 文件控制
<fnmatch.h> 文件名匹配类型
<glob.h> 路径名模式匹配类型
<grp.h> 组文件
<netdb.h> 网络数据库操作
<pwd.h> 口令文件
<regex.h> 正则表达式
<tar.h> tar归档值
<termios.h> 终端I/O
<unistd.h> 符号常量
<utime.h> 文件时间
<wordexp.h> 字扩展类型
------------------------------
<arpa/inet.h> Internet定义
<net/if.h> 套接字本地接口
<netinet/in.h> Internet地址族
<netinet/tcp.h> 传输控制协议定义
------------------------------
<sys/mman.h> 内存管理声明
<sys/select.h> select函数
<sys/socket.h> 套接字接口
<sys/stat.h> 文件状态
<sys/times.h> 进程时间
<sys/types.h> 基本系统数据类型
<sys/un.h> UNIX域套接字定义
<sys/utsname.h> 系统名
<sys/wait.h> 进程控制
POSIX标准定义的XSI扩展头文件
头文件 说明
<cpio.h> cpio归档值
<dlfcn.h> 动态链接
<fmtmsg.h> 消息显示结构
<ftw.h> 文件树漫游
<iconv.h> 代码集转换实用程序
<langinfo.h> 语言信息常量
<libgen.h> 模式匹配函数定义
<monetary.h> 货币类型
<ndbm.h> 数据库操作
<nl_types.h> 消息类型
<poll.h> 轮询函数
<search.h> 搜索表
<strings.h> 字符床操作
<syslog.h> 系统出错日志记录
<ucontext.h> 用户上下文
<ulimit.h> 用户限制
<utmpx.h> 用户账户数据库
---------------------------
<sys/ipc.h> IPC
<sys/msg.h> 消息队列
<sys/resource.h> 资源操作
<sys/sem.h> 信号量
<sys/shm.h> 共享存储
<sys/statvfs.h> 文件系统信息
<sys/time.h> 时间类型
<sys/timeb.h> 附加的日期和时间定义
<sys/uio.h> 矢量I/O操
POSIX标准定义的可选头文件
头文件 说明
<aio.h> 异步I/O
<mqueue.h> 消息队列
<pthread.h> 线程
<sched.h> 执行调度
<semaphore.h> 信号量
<spawn.h> 实时spawn接口
<stropts.h> XSI STREAMS接口
<trace.h> 时间跟踪
3.某些常用的基本系统数据类型
//包含在<sys/types.h>
类型 说明
caddr_t 核心地址
clock_t 时钟滴答计数器
comp_t 压缩的时钟滴答
dev_t 设备号(主和次)
fd_set 文件描述符集
fpos_t 文件位置
gid_t 数值组ID
ino_t i节点编号
mode_t 文件类型,文件创建模式
nlink_t 目录项的连接计数
off_t 文件大小和偏移量(带符号的)(lseek函数)
pid_t 进程ID和进程组ID(带符号的)
ptrdiff_t 两个指针相减的结果
rlim_t 资源限制
sig_atomic_t 能原子地访问的数据类型
sigset_t 信号集
size_t 对象(如字符串)大小(不带符号的)
sseze_t 返回字节计数的函数(带符号的)(read,write函数)
time_t 日历时间的秒计数器
uid_t 数值用户ID
wchar_t 能表示所有不同的字符码,宽字符类型