概述
#include <stdio.h>
#include <sys/time.h>
int main(){
struct timeval tv,tv1;
gettimeofday(&tv,NULL);
printf("s:%d ms:%dn",(int)(tv.tv_sec),(int)(tv.tv_usec));
gettimeofday(&tv1,NULL);
printf("s1:%d ms1:%dn",(int)(tv1.tv_sec),(int)(tv1.tv_usec));
printf("sec:%d ms:%dn",(int)(tv1.tv_sec)-(int)(tv.tv_sec),(int)(tv1.tv_usec)-(int)(tv.tv_usec));
}
首先:man gettimeofday中的描述不是很清晰,tv结构体包含usec和sec,调用此函数后获取从1970年(1970.hh.min.sec.usec也就是1970年零点零风零秒)至今的时间换算成sec.usec的格式。所以sec和usec是一个整体。
#include <stdio.h>
#include <sys/time.h>
int main(){
struct timeval tv,tv1;
gettimeofday(&tv,NULL);
printf("s:%d ms:%dn",(int)(tv.tv_sec),(int)(tv.tv_usec));
sleep(3);
gettimeofday(&tv1,NULL);
printf("s1:%d ms1:%dn",(int)(tv1.tv_sec),(int)(tv1.tv_usec));
printf("sec:%d ms:%dn",(int)(tv1.tv_sec)-(int)(tv.tv_sec),(int)(tv1.tv_usec)-(int)(tv.tv_usec));
}
如果usec超过1s就会进位到sec中。
一般用于计算程序执行时间段,在计算连接的心跳时间时用的多一些。
最后
以上就是陶醉母鸡为你收集整理的gettimeofday函数的全部内容,希望文章能够帮你解决gettimeofday函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复