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所需的第三组值 (路径名变量值) 表示文件系统对文件路径名施加的约束。 底层文件系统实现可能会对这些值施加进一步的约束。 使用 pathconf 或 fpathconf 子例程来确定特定于底层文件系统的任何文件实现特征。
| 符号 | 值 | 说明 |
|---|---|---|
| NAME_MAX | 未定义 | 文件组件名称中的最大字节数 (不包括空终止符) |
| PATH_MAX | 512 | 路径名中的最大字节数 (不包括空终止符) |
运行时可递增值
POSIX 所需的第四组值指定在运行时可能增加的值。 使用 pathconf 或 fpathconf 子例程来确定特定于底层文件系统的任何文件实现特征。
| 项 | 描述 | |
|---|---|---|
| 符号 | VALUE | 说明 |
| 行最大值 | 32,767 | 文件的链接计数的最大值 (SHRT_MAX)。 |
| PIPE_BUF | 32,768 | 保证自动写入管道的最大字节数。 |