失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > struct timeval 和 struct timespec 应用小结

struct timeval 和 struct timespec 应用小结

时间:2023-11-30 09:53:11

相关推荐

struct timeval 和 struct timespec 应用小结

在基于linux的C编程中,经常会看到 struct timeval和struct timespec 这两个跟时间有关的结构体,有时候会容易混淆,先看下这两个结构体的定义,以linux-2.6.35为例,在time.h下

struct timeval {__kernel_time_t tv_sec;/* seconds */__kernel_suseconds_ttv_usec;/* microseconds */};struct timespec {__kernel_time_t tv_sec;/* seconds */long tv_nsec;/* nanoseconds */};

进一步查找_kernel_time_t 的含义 可知这两个结构体的内容如下:

struct timeval {longtv_sec;/* seconds */longtv_usec;/* microseconds */};struct timespec {longtv_sec;/* seconds */longtv_nsec;/* nanoseconds */};

小结:

1、struct timeval 的成员,一个是秒,一个是微秒,所以最高精度是 微秒。

2、struct timespec的成员,一个是秒,一个是纳秒,所以最高精度是 纳秒。

常见应用场景:

1、struct timeval 一般由函数

int gettimeofday(struct timeval *tv, struct timezone *tz)

获取系统时间。

2、struct timespec 一般由函数

int clock_gettime(clockid_t, struct timespec *)

获取特定时钟的时间。

如果觉得《struct timeval 和 struct timespec 应用小结》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。