gettimeofday-解释确切的struct timeval字段';意思

gettimeofday-解释确切的struct timeval字段';意思,c,gettimeofday,C,Gettimeofday,我试图用C语言编写一个简单的函数,计算纳秒级的两个时刻之间的差值。为此,我考虑使用函数gettimeofday,它更新给定的结构timeval的字段 如手册页所述,struct timeval的字段为: time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */ 我的问题如下: tv\u usec字段是从纪元开始经过的全部时间(以微秒为单位),还是只是时间的剩余时间(以微秒为单位) 例

我试图用C语言编写一个简单的函数,计算纳秒级的两个时刻之间的差值。为此,我考虑使用函数
gettimeofday
,它更新给定的结构timeval的字段

如手册页所述,struct timeval的字段为:

time_t      tv_sec;     /* seconds */  
suseconds_t tv_usec;    /* microseconds */  
我的问题如下:

tv\u usec
字段是从纪元开始经过的全部时间(以微秒为单位),还是只是时间的剩余时间(以微秒为单位)

例如,如果经过的时间为100秒25微秒,
tv_usec
字段的值是“25”还是“100000025”

非常感谢

剩下的就是

这是剩余的运行时间(一秒的分数),以微秒数表示。它总是少于一百万


FWIW,
gettimeofday
仅提供微秒分辨率,在POSIX.1-2008中已过时,因此您应该使用
clock_gettime
来代替。仅供参考:一个有符号的64位数字(
long
必须至少有这么长)可能代表从新纪元开始的近300000年,以微秒为单位。32位整数只能表示略多于71分钟的微秒。