limits.h 文件

用途

定义由 IEEE POSIX 1003 标识的实现限制。

描述

limits.h 文件包含 ANSI X3.159-198x 编程语言 C 标准和电气和电子工程师学会 (IEEE) P1003.1 便携式计算机环境操作系统接口 (POSIX) 标准所需的定义。

ANSI C 标准要求的常量描述基本数据类型的大小,如下所示:

符号 说明
字符 BIT 8 类型为 char 的变量中的位数
最大字符数 255 类型为 char 的变量的最大值
费用 (CHAR_MIN) 0 类型为 char 的变量的最小值
INT_MAX 2,147,483,647 类型为 int 的变量的最大值
INT_MIN -2,147,483,648 类型为 int 的变量的最小值
长_最大值 2,147,483,647 类型为 long 的变量的最大值
长最小值 -2,147,483,648 类型为 long 的变量的最大值
SCHAR_MAX 127 类型为 signed char 的变量的最大值
SCHAR_MIN -128 类型为 signed char 的变量的最小值
SHRT_MAX 32,767 类型为 short 的变量的最大值
SHRT_MIN -32,768 类型为 short 的变量的最大值
UCHAR_MAX 255 类型为 unsigned char 的变量的最大值
UINT_MAX 4,294,967,295 类型为无符号整数的变量的最大值
ULONG_MAX 4,294,967,295 类型为无符号长整型的变量的最大值
USHRT_MAX 65,535 类型为无符号短整型的变量的最大值

运行时不变量值

POSIX所需的第一组值 (运行时不变量值) 是由基本操作系统数据结构大小确定的简单常量。

符号 说明
最大输入 512 在终端输入队列中,不允许少于 MAX_INPUT 符号指定的字节数。
NGROUPS_MAX 2048 并发组列表的最大大小。
最大时间 (PASS_MAX) 255 密码中的最大字节数 (不包括空终止符)。
PID_MAX INT_MAX processID的最大值。
UID_MAX ULONG_MAX 用户或组标识的最大值。

运行时不变量值 (可能不确定)

POSIX 所需的第二组运行时不变量值指定可能有所不同的值,特别是由于系统负载,但可以在负载很轻的系统上实现这些值。

符号 说明
ARG_MAX 1048576 exec 子例程的自变量的最大长度 (以字节计) ,包括环境。 这是可配置为不同大小的缺省值。
注: 允许自变量列表和环境使用所有用户数据段。
符号 说明
儿童最大值 40 每个用户标识的最大并发进程数
MAX_CANON 256 规范输入行中的最大字节数
OPEN_MAX 65534 一个进程在任何给定时间可以打开的最大文件数
CHRS_OPEN_MAX 65000 要在检查点/重新启动段中适合的最大文件描述符数。

路径名变量值

POSIX所需的第三组值 (路径名变量值) 表示文件系统对文件路径名施加的约束。 底层文件系统实现可能会对这些值施加进一步的约束。 使用 pathconffpathconf 子例程来确定特定于底层文件系统的任何文件实现特征。

符号 说明
NAME_MAX 未定义 文件组件名称中的最大字节数 (不包括空终止符)
PATH_MAX 512 路径名中的最大字节数 (不包括空终止符)

运行时可递增值

POSIX 所需的第四组值指定在运行时可能增加的值。 使用 pathconffpathconf 子例程来确定特定于底层文件系统的任何文件实现特征。

描述
符号 VALUE 说明
行最大值 32,767 文件的链接计数的最大值 (SHRT_MAX)。
PIPE_BUF 32,768 保证自动写入管道的最大字节数。