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

本文介绍了ISOC标准下各种头文件的功能及其对UNIX环境下软件可移植性的贡献,并详细列举了多种编译时和运行时限制的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 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结尾,被成为集本数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值