首页 > 解决方案 > 哪个标准定义了“_SC_MONOTONIC_CLOCK”等“sysconf()”选项的值?

问题描述

(这是关于如何检查是否支持单调时钟的后续问题)

我尝试打印 的值_SC_MONOTONIC_CLOCK并得到149. 我在POSIX网站上尝试了 Google搜索,但没有得到任何结果。

(答案后更新:149在 Debian 上。刚刚在 macOS 和 FreeBSD 上尝试过,两者都在使用 value 74。)

标签: clinuxunixposix

解决方案


POSIX 声明符号常量_SC_*unistd.h标题中定义:

unistd.h头应定义以下符号常量sysconf(): [...]_SC_MONOTONIC_CLOCK

但是,它没有定义这种符号常量的值——它对您的应用程序不应该很重要(并且您不应该依赖于值是什么)。

例如,GNU C 库将它们全部列在一个enum; 而 newlib 定义了明确的值OpenBSDNetBSD也使用显式但不同的值。


推荐阅读