2、UNIX标准及实现

来源:互联网 发布:哈尔滨网络公安局 编辑:程序博客网 时间:2024/05/26 12:04

一、标准,实现
1、ISO C:现今所有UNIX操作系统都支持C标准库中定义的库函数。

2、IEEE POSIX(可移植操作系统接口):定义了接口而非实现,这些接口包括:系统接口定义、命令和实用程序。

3、Open Group的Single UNIX Specification:它定义了附加接口扩展POSIX.1规范提供的功能,POSIX.1的系统接口(X/Open System Interface,XSI)描述了可选接口,只有实现这些扩展的接口,才能称为UNIX系统。

4、UNIX系统的实现,这些系统都提供UNIX的编程环境
(1)SVR4(UNIX System V Release 4),贝尔实验室
(2)BSD(Berkeley Software Distribution),伯克利分校计算机系统研究组
(3)Linux
(4)Mac OS X

二、
1、限制,有利于UNIX环境下软件的可移植性
(1)编译时限制:头文件
(2)运行时限制如文件名的字符数:sysconf函数(与文件、目录无关);pathconf和fpathconf函数(与文件和目录有关)

2、ISO C 限制在limits.h,float.h(对浮点数的限制),stdio.h对标准IO流的限制

3、POSIX限制,操作系统实现限制的常量,sysconf,pathconf,fpathconf函数用于确定一个特定系统实际支持的限制。

#include <unistd.h>long sysconf(int name);long pathconf(const char *pathname, int name);//返回基于工作目录相对路径的最大长度long fpathconf(int fd, int name);

如果符号常量未定义,则必须使用sysconf,pathconf,fpathconf来判断是否支持该选项(功能)。这时,name是前缀_POSIX必须替换为_SO或_PC。以_XOPEN为前缀的常量前面加_SO或_PC。

4、基本系统数据类型
sys/types.h中定义基本系统数据类型,通过typedef定义,以_t结尾。

原创粉丝点击