gettimeofday()依赖于硬件和实时时钟。
有人可以建议我们如何避免在应用程序编程中使用相同的方法吗?我们如何使用系统节拍?
提前感谢!
发布于 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的系统,我不确定。其他人则被鼓励对此进行解释。
https://stackoverflow.com/questions/23383828
复制相似问题