Linux上glibc的man手册关于timeval结构解释的错误
发表于:2007-05-26来源:作者:点击数:
标签:
问题如下: 在debian linux 的man页中对gettimeofday函数的说明中,有这样一个说明: DESCRIPTION The functions gettimeofday and settimeofday can get and set the time as well as a timezone. The tv argument is a timeval struct, as specified in sy
问题如下:
在debian
linux的man页中对gettimeofday函数的说明中,有这样一个说明:
DESCRIPTION
The functions gettimeofday and settimeofday can get and set the time as
well as a timezone. The tv argument is a timeval struct, as specified
in <sys/time.h>:
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
其中对tv_usec的说明为时间的毫秒部分。 而在实际中,该函数以及
Linux内核返回的timeval
类型的时间值,tv_usec代表的是微秒精度(10的-6次方秒)。
测试代码如下:
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
int main(int argc,char * argv[]){
struct timeval tv;
while(1){
gettimeofday(&tv,NULL);
printf("time %u:%u\n",tv.tv_sec,tv.tv_usec);
sleep(2);
}
return 0;
}
返回结果为:
evil@dcenter:~/tmp$ ./a.out
time 1142077839:903605
time 1142077841:910129
time 1142077843:920155
time 1142077845:930180
time 1142077847:940205
time 1142077849:950231
time 1142077851:960256
time 1142077853:970280
time 1142077855:980307
time 1142077857:990331
原文转自:http://www.ltesting.net
|