UNIX环境高级变成——第二章 UNIX标准及实现

第二章 UNIX标准及实现

2.2.1 ISO C

1、ISO C头文件

头文件     说明
     验证程序断言
     复数运算支持
     字符分类和映射支持
     错误码
     浮点环境
     浮点支持
     整型格式转换
     赋值、关系、一元操作符宏
     实现常量
     本地化支持
     数学运算库
     非局部goto
     信号支持
     可变长度参数
     布尔类型支持
     标准定义
     标准整形
     标准输入输出
     实用函数库
     字符串操作
     通用类型数学宏
     时间日期支持
     多字节宽字符支持
     宽字符分类和映射支持

限制

1、由于大量标准化工作的努力,已有若干种可移植的方法以确定这些幻数和具体实现定义的限制。这非常有助于改善UNIX环境下软件的可移植性。

2、以下两种类型的限制是必须的:
(1)编译时限制(如,短整型的最大值是什么?)
(2)运行时限制(如,头文件有多少个字符)
编译时限制可在头文件中定义。程序在编译时可以包含这些头文件
运行时限制要求进程调用一个函数获得限制值。

3、为了解决UNIX多文件系统中不同文件系统中不同文件长度的限制,UNIX提供了以下3种限制:
(1)编译时限制(头文件)
(2)与文件或目录无关的运行时限制(sysconf函数)
(3)与文件或目录有关的运行时限制(pathconf函数和fpathconf函数)

4、ISO C定义的所有编译时限制都列在头文件中。

函数sysconf、pathconf和fpathconf

1、函数原型

#include 

long sysconf(int name);

long pathconf(const char *pathname,int name);

long fpathconf(int fd,int name);

功能测试宏

1、由于UNIX不同版本有不同的实现,为了保证只使用POSIX.1标准,在头文件中定义了
_POSIX_SOURCE_XOPEN_SOURCE功能测试宏

基本数据类型

1、在头文件中定义了某些与实现有关的数据类型,它们用C的typedef来定义,大多数以_t结尾,被成为集本数据类型。

你可能感兴趣的:(c,unix,apue)