【发布时间】:2013-12-25 22:20:10
【问题描述】:
在glibc 2.18 documentation 中,它说如果没有定义宏并且没有给出标准模式,那么_POSIX_C_SOURCE 默认为2。
当我在 glic 2.17 上测试这个时,我得到一个默认值 200809。这个文档是否过期了?在哪里可以找到更新版本?
【问题讨论】:
在glibc 2.18 documentation 中,它说如果没有定义宏并且没有给出标准模式,那么_POSIX_C_SOURCE 默认为2。
当我在 glic 2.17 上测试这个时,我得到一个默认值 200809。这个文档是否过期了?在哪里可以找到更新版本?
【问题讨论】:
文档说
如果您将此宏定义为大于或等于 2 的值,则 1992 版 POSIX.2 标准(IEEE 标准 1003.2-1992)的功能可用。
如果您将此宏定义为大于或等于 199309L 的值,则 1993 版 POSIX.1b 标准(IEEE 标准 1003.1b-1993)的功能可用。
和
如果你...没有显式定义这些宏,效果与将 _POSIX_C_SOURCE 定义为 2 ...
_POSIX_C_SOURCE 的默认值 200809 与此不矛盾。值 2 并不能保证“1993 年版 POSIX.1b 标准(IEEE 标准 1003.1b-1993)的功能”是不可用,因此默认值不必保证它要么。
【讨论】: