一、名称解释
- 组织
- ANSI: 美国国家标准学会
(American National Standards Institute)
- ISO:国际标准化组织
(International Organization for Standardization)
- IEF: 国际电子技术委员会
(International Electrotechnical Commission)
- IEEE: 电气和电子工程师学会
(Institute of Electrical and Electronics Engineers)
- 协议
- POSIX: 可移植操作系统接口
(Portable Operationg System Interface)
- SUS:单一UNIX规范
(Single Unix Specification)
二、各协议发展
1. ISO C: C程序的可移植性
- 1989年下半年:C程序设计语言的ANSI标准 X3.159-1989 得到批准。此标准被采纳为国际标准 ISO/IEC 9899:1990
- 1999年,ISO C标准被更新,被批准为 ISO/IEC 9899:1999
2. IEEE POSIX (包含了ISO C的标准)可移植的操作系统接口
- 1988年:修订整合,命名:
IEEE标准 1003.1-1990
(POSIX.1)-->提交给ISO,就是国际标准 ISO/IEF 9945-1:1990
- 1996年:修订版发布:(
国际版: ISO/IEC 9945-1:1996
)- 包含:1003.1-1990、1003.1b-199、pthreads的多线程编程接口
- 1999年:出版
IEEE标准 1003.1d-19999
- 2000年:出版
IEEE标准 1003.1j-2000 和 1003.1q-2000
- 2001年:出版
IEEE标准 1003.1-2001
- Single UNIX Specification 第2版本
- ISO/IEC 9899-1999,C程序设计语言
- 2001年:出版
IEEE标准 1003.1
2004年版 - 2009年:
国际标准 ISO/IEC 9945:2009
。包涵:- IEEE标准 1003.1,2004年版
- 开发组织标准,2006,扩展API集
- ISO/IEC 9899:1999,包含勘误表
3. Single Unix Specification 单一UNIX规范
POSIX.1的超集,定义了附加接口扩展了POSIX接口
- 1994年: 发布第一个版本
- 1997年: 发布第二个版本
- 2004年: 第3版2004年班
- 2010年: SUS第四版
限制
选项
功能测试宏
基本系统数据类型
类型 | 类型 | 说明 |
---|---|---|
clock_t | 时钟滴答计数器(进程时间) | |
comp_t | 压缩的时钟滴答 | |
dev_t | 设备号(主次) | |
fd_set | 文件描述符集 | |
fpos_t | 文件位置 | |
gid_t | 数值组ID | |
ino_t | i节点编号 | |
mode_t | 文件类型,文件创建模式 | |
nlink_t | 目录项的链接计数 | |
off_t | 文件长度和偏移量(带符号的) | |
pid_t | 进程ID和进程组ID | |
pthread_t | 线程ID | |
ptrdiff_t | 两个指针想减的结果(带符号的) | |
rlim_t | 资源限制 | |
sig_atomic_t | 能原子性地访问的数据类型 | |
sigset_t | 信号集 | |
size_t | 对象(如字符串)长度(不带符号的) | |
ssize_t | 返回字节计数的函数(带符号的),read,write | |
time_t | 日历时间的秒计数器 | |
uid_t | 数值用户ID | |
wchar_t | 能表示所有不同的字符码 |