UNIX环境高级编程——第二章 UNIX标准及实现

xiaoxiao2021-02-27  404

第二章 UNIX标准及实现

2.2.1 ISO C

1、ISO C头文件

头文件 说明 <assert.h> 验证程序断言 <complex.h> 复数运算支持 <ctype.h> 字符分类和映射支持 <errno.h> 错误码 <fenv.h> 浮点环境 <float.h> 浮点支持 <inttypes.h> 整型格式转换 <iso646.h> 赋值、关系、一元操作符宏 <limits.h> 实现常量 <locale.h> 本地化支持 <math.h> 数学运算库 <setjmp.h> 非局部goto <signal.h> 信号支持 <stdarg.h> 可变长度参数 <stdbool.h> 布尔类型支持 <stddef.h> 标准定义 <stdint.h> 标准整形 <stdio.h> 标准输入输出 <stdlib.h> 实用函数库 <string.h> 字符串操作 <tgmath.h> 通用类型数学宏 <time.h> 时间日期支持 <wchar.h> 多字节宽字符支持 <wctype.h> 宽字符分类和映射支持

限制

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

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

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

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

函数sysconf、pathconf和fpathconf

1、函数原型

#include <unistd.h> 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、在头文件<sys/types.h>中定义了某些与实现有关的数据类型,它们用C的typedef来定义,大多数以_t结尾,被成为集本数据类型。

转载请注明原文地址: https://www.6miu.com/read-1179.html

最新回复(0)