Linux上glibc的man手册关于timeval结构解释的错误
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-11
这个问题不止遇见了一次了,但是总是懒得记录下来,每次碰到总是要写个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:%un",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.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: sopcast安装指南下一篇: 使用Web浏览器管理Ubuntu系统
关于Linux上glibc的man手册关于timeval结构解释的错误的所有评论