首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免使用gettimeofday() API

避免使用gettimeofday() API
EN

Stack Overflow用户
提问于 2014-04-30 16:58:06
回答 1查看 310关注 0票数 0

gettimeofday()依赖于硬件和实时时钟。

有人可以建议我们如何避免在应用程序编程中使用相同的方法吗?我们如何使用系统节拍?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 20:09:13

要获得以滴答为单位的时间,您可能会喜欢使用times()

然而,目前还不清楚这些滴答声是否是从启动时间开始测量的。

From man times:

返回值

times()返回从过去的任意点开始所经过的时钟滴答数。..。

NOTES

在Linux上,用来测量time()返回值的“过去的任意点”在不同的内核版本中有所不同。在Linux2.4和更早的版本中,这个时间点是系统启动的时刻。从Linux2.6开始,这个时间点是系统启动前(2^32/HZ) - 300秒(即大约4.29亿秒)。不同内核版本(以及不同的UNIX实现)之间的这种可变性,再加上返回值可能溢出clock_t的范围,这意味着可移植的应用程序最好避免使用这个值。要测量运行时间的变化,请改用clock_gettime(2)

使用带有CLOCK_BOOTTIME计时器的clock_gettitme()来读取它可能是更安全、更便携的方法。如果这个功能和/或计时器可用于没有RTC的系统,我不确定。其他人则被鼓励对此进行解释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23383828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档