• 编译时限制, 例如短整型的最大值是什么
    • 在头文件中定义
  • 运行时限制, 文件名有多少个字符
    • 运行时调用一个函数来获得限制值

2.5.1 ISO C 限制

定义在 中.

image.png

中也有类似定义.

image.png

  • FOPEN_MAX: 保证可同时打开的标准 I/O 流的最小个数
  • TMP_MAX: 由 tmpnam 函数产生唯一文件名的最大个数
  • FILENAME_MAX: 应使用 NAME_MAX 和 PATH_MAX 替代

2.5.2 POSIX 限制

限制和常量有7类:

image.png

image.png

image.png

image.png

使用以下函数可以获得实际的实现值:

  • sysconf
  • pathconf
  • fpathconf

某些在 POSIX.1 中定义为 “可能不确定的” 的值, 意味着没有实际限制.

2.5.3 XSI 限制

image.png

image.png

2.5.4 函数 sysconf, pathconf 和 fpathconf

image.png

image.png

image.png

2.5.5 不确定的运行时限制