Linux系统编程12_标准库和POSIX标准头文件

C标准库

C运行时库(包含C标准库的实现),但还包含了平台自身开发的库;是C标准库的超集;

====================================================

C标准库头文件
stdio.h //输入/输出
stdlib.h //基础工具:内存管理、程序工具、字符串转换、随机数
string.h //字符串处理
ctype.h //用来确定包含于字符数据中的类型的函数
stddef.h //常用宏定义
stdarg.h //可变参数
signal.h //信号处理


POSIX标准定义的头文件 //优先考虑
pthread.h           //标准库没有添加多线程之前的在Linux上用的多线程库
unistd.h            //unistd.h为Linux/Unix系统中内置头文件,包含了许多系统服务的函数原型,例如read函数、write函数和getpid函数等。
                        //提供对 POSIX 操作系统 API 的访问功能,其中调用的接口大量都是对系统调用的封装
<fcntl.h>          //文件控制
<mqueue.h>   //消息队列
<regex.h>       //正则表达式
<semaphore.h>   //信号量

sys库:
<sys/stat.h>         //是unix/linux系统定义文件状态所在的伪标准头文件
<sys/shm.h>   //共享存储
sys/socket.h   //套接字编程
<sys/types.h>      //很多类型其实都是用typedef重定义的,和基本类型没什么区别,比如那个pid_t好像就是int 型的
<sys/types.h>     //只是为了定义系统类型(pid_t,size_t等),没别的意思。

<sys/mman.h>    //内存管理声明
<sys/msg.h>       //消息队列  不推荐使用
<sys/sem.h>       //信号量  不推荐使用


<arpa/inet.h> Internet定义

====================================================

系统调用和库函数的区别:https://www.cnblogs.com/yanlingyin/archive/2012/04/23/2466141.html

系统调用与库函数:https://www.cnblogs.com/liwei0526vip/p/8998751.html

man1 man2 ... 等区别:https://blog.csdn.net/u013528298/article/details/100109585

====================================================

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> 事件跟踪

知行合一
原文地址:https://www.cnblogs.com/grooovvve/p/14646315.html