clock_gettime() 和 timespec_get() 有什么区别?

问题描述 投票:0回答:1

我尝试了

clock_gettime()
timespec_get()
,但有什么区别?

谁能帮我找出

clock_gettime()
timespec_get()
之间的区别?

c time clock
1个回答
0
投票

clock_gettime(clockid_t, struct timespec *)
(在
time.h
中声明)可以根据
clockid_t
返回不同的时间值。您应该阅读手册页。

timespec_get(struct timespec *, int)
(也在
time.h
中声明)将对象值设置为自纪元以来的时间(1.1.1970,午夜)。

理想情况下,这应该与使用

clock_gettime()
调用
clockid_t
CLOCK_REALTIME
相同。

这里的第二个参数是基准或时区。因此,使用

TIME_UTC
将给出 GMT。

并非所有 C 编译器在每个平台上都支持这一点。 评论后编辑:

  1. timespec_get()
    在 ISO C11 标准中标准化。
  2. clock_gettime()
    ,但是由 POSIX 标准标准化,并且在可用的系统上,符号
    _POSIX_TIMERS
    设置为非零值(在
    unistd.h
    中)。
© www.soinside.com 2019 - 2024. All rights reserved.