一、Unix标准化
1、ANSI C
ANSI C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是Unix。此标准不仅定义了C程序设计
语言的语法和语义,也定义了其标准库。
按照该标准定义的各个头文件,可将该库分成15区。
2、IEEE POSIX
POSIX是一个由IEEE制订的标准族。
3、X/Open XPG3
4、FIPS
二、Unix实现
标准只是界面的规格说明。标准由制造商采用,然后转变为具体实施。
1、SVR4
2、4.3+BSD
三、限制
有三种类型的功能是必须的:
编译时间选择项
编译时间限制
运行时间限制
1、ANSI C限制
所有由ANSI C定义的限制都是编译时间限制。
2、POSIX限制
POSIX.1定义了很多涉及操作系统实现限制的常数。
POSIX.1提供三个运行时间函数以供调用:sysconf、pathconf和fpathconf
3、运行时间限制是由调用下面三个函数中的一个而却得的:
sysconf
pathconf
fpathconf
4、未确定的运行时间限制
需要通过猜的方式来给出一个既定值。
四、标准与实现的差别
先有实现,后有标准,所以标准只能折中。
各个实现的差别需要由限制来弥补。