LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1124|回复: 2

Linux上glibc的man手册关于timeval结构解释的错误

[复制链接]
发表于 2006-3-11 20:07:49 | 显示全部楼层 |阅读模式
这个问题不止遇见了一次了,但是总是懒得记录下来,所以每次碰到总是要写个test代码去测试一下。

问题如下:
在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
发表于 2006-3-11 20:27:15 | 显示全部楼层
毫秒 millisecond
微秒 microsecond
回复 支持 反对

使用道具 举报

发表于 2006-3-11 20:33:22 | 显示全部楼层
microsecond
*['maikrәusekәnd]
n. 微秒
【计】 微秒
【医】 微秒
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表