博客
关于我
POSIX标准和XSI扩展
阅读量:795 次
发布时间:2023-03-03

本文共 1945 字,大约阅读时间需要 6 分钟。

POSIX 标准与常用头文件解析

POSIX(Portable Operating System Interface)是 UNIX 系统环境下的一套移植性操作系统接口标准。最初开发 POSIX 标准的目的是为了提高 UNIX 环境下应用程序的可移植性。然而,随着时间的推移,POSIX 标准逐渐扩展,其应用范围不再局限于 UNIX 系统。许多其他操作系统如 DEC OpenVMS 和 Microsoft Windows NT 等也开始支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1 规范。POSIX.1 提供了源代码级别的 C 语言应用编程接口(API),用于操作系统服务程序,如读写文件等。该标准已被国际标准化组织(ISO)接受,命名为 ISO/IEC 9945-1:1990 标准。

POSIX 标准定义了 26 个必需头文件,这些头文件为应用程序提供了访问操作系统服务的接口。以下是 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>:进程控制
  • <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 标准还定义了 26 个 XSI(X/Open System Interface)扩展头文件,这些头文件提供了 POSIX.1 标准的扩展功能:

  • <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 标准还定义了 8 个可选头文件,这些头文件并非所有 POSIX 系统都需要支持,但它们在实现中提供了额外的功能:

  • <aio.h>:异步I/O
  • <mqueue.h>:消息队列
  • <pthread.h>:线程
  • <sched.h>:执行调度
  • <semaphore.h>:信号量
  • <spawn.h>:实时spawn接口
  • <stropts.h>:XSI STREAMS接口
  • <trace.h>:事件跟踪

通过对 POSIX 标准的全面理解和学习,我们可以更好地掌握 UNIX 系统的核心接口,提升在多种操作系统环境下的开发能力。

转载地址:http://pjxfk.baihongyu.com/

你可能感兴趣的文章
Position属性四个值:static、fixed、absolute和relative的区别和用法
查看>>
POSIX thread编程中关于临界区内条件变量的分析
查看>>
POSIX与程序可移植性
查看>>
posix多线程有感--自旋锁
查看>>
SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
查看>>
POSIX标准和XSI扩展
查看>>
post install error,please remove node_moules before retry
查看>>
postcss-pxtorem 参数之selectorBlackList、exclude的用法
查看>>
Postek博思得标签打印机更换电脑,打印出来标签空白
查看>>
postfix+ dovecot搭建邮件服务器
查看>>
postfix在邮件服务器中的使用
查看>>
PostGIS 3.1.2软件安装详细教程(地图工具篇.8)
查看>>
PostGIS中获取所有EPSG的编码以及对应Proj4字符串
查看>>
SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
查看>>
PostGIS在Windows上的下载与安装
查看>>
Qt开发——网络编程之UDP客户端
查看>>
postgis数据库优化_postgresql 性能优化
查看>>
postgis求面积、交集等相关函数
查看>>
postgis相关函数
查看>>
Postgres Docker版本安装mysql_fdw 插件
查看>>