ANSI C限制 和 POSIX限制

来源:互联网 发布:智慧医疗 物联网 知乎 编辑:程序博客网 时间:2024/05/18 06:43
 1.ANSI C限制



2.POSIX限制

它包括3 3个限制和常数,它们被分成下列八类:
(1) 不变的最小值(表2 - 3中的1 3个常数)。
(2) 不变值:S S I Z E _ M A X。
(3) 运行时间不能增加的值:N G R O U P S _ M A X。
(4) 运行时间不变的值 (可能不确定):ARG_MAX, CHILD_MAX, OPEN_MAX, STREAM_
M A X以及T Z N A M E _ M A X。
(5) 路径名可变值 (可能不确定 ):LINK_MAX, MAX_CANON, MAX_INPUT, NAME_
MAX, PAT H _ M A X以及P I P E _ B U F。
(6) 编辑时间符号常数: _ P O S I X _ S AVED_IDS, _POSIX_VERSION 以及_ P O S I X _ J O B _
C O N T R O L。
(7) 执行时间符号常数: _POSIX_NO_TRUNC, _POSIX_VDISABLE 以及 _ P O S I X _
C H O W N _ R E S T R I C T E D。
(8) 不再使用的常数:C L K _ T C K。
在这3 3个限制和常数中, 1 5个是必须定义的,其余的则按具体条件可定义可不定义。在
2 . 5 . 4节中,在说明 sysconf, pathconf和f p a t h c o n f函数时,我们描述了可定义可不定义的限制和
常数(第4 ~ 8条)。在表2 - 7中我们总结了所有限制和常数。 1 3个不变最小值则示于表2 - 3中。

  1. XPG3限制
4、sysconf、pathconf、fpathconf的限制及name参数

(1) 如果n a m e不是表 2 - 5第3列中的一个合适的常数,则所有这三个函数都返回- 1,并将e r r o r设置为E I N VA L。
(2) 包含M A X的1 2个n a m e以及n a m e_ P C _ P I P E _ B U F可能或者返回该变量的值 (返回值≥O ),
或者返回-1,这表示该值是不确定的,此时并不更改 e r r n o的值。
(3) 对_ S C _ C L K _ T C K的返回值是每秒的时钟滴答数,以用于 t i m e s函数的返回值(见 8 . 1 5
节)。
(4) 对_ S C _ V E R S I O N的返回值以 4位数和2位数分别表示此标准的年和月。这可能或者是
1 9 8 8 0 8 L或1 9 9 0 0 9 L,或此标准某个以后版本的值。
(5) 对_ S C _ X O P E N _ V E R S I O N的返回值表示此系统所遵从的 X P G版本,其当前值是3。
(6) _SC_JOB_CONTROL和_ S C _ S AV E D _ I D S是两个可选功能。若s y s c o n f返回-1(没有更
改e r r n o)则不支持相应的功能。这两个功能也可在编译时从 < u n i s t d . h >头文件中决定。
(7) 对_ P C _ C H O W N _ R E S T R I C T E D和_ P C _ N O _ T R U N C的返回值若为-1 (不改变e r r n o ),则
表示对所指定的 p a t h n a m e或f i l e d e s不支持此功能。
(8) 对_ P C _ V D I S A B L E的返回值若为- 1(不改变 e r r n o),则表示对所指定的 p a t h n a m e或
f i l e d e s不支持此功能。若支持此功能,则返回值是被用于禁止特定终端输入字符的字符值
0 0