如何检查系统是否支持“单调时钟”?

我需要处理代码中的超时情况,并想clock_gettime(CLOCK_MONOTONIC)在系统支持单调时钟的情况下使用。


#ifdef CLOCK_MONOTONIC

    clock_gettime(CLOCK_MONOTONIC, & spec);

#else

    clock_gettime(CLOCK_REALTIME,  & spec);

#endif

我不确定这是否足够。就是说,系统定义的系统可能CLOCK_MONOTONIC不真正支持单调时钟吗?还是检查单调时钟是否受支持的可靠方法是什么?


有只小跳蛙
浏览 308回答 3
3回答

汪汪一只猫

POSIX仅要求CLOCK_REALTIME存在,其他时钟是可选的。如果单调时钟可用,宏_POSIX_MONOTONIC_CLOCK将被定义unistd.h(根据可用性一节的手册页)
打开App,查看更多内容
随时随地看视频慕课网APP