struct timeval结构体 以及 gettimeofday()函数
一、struct timeval结构体
struct timeval结构体在time.h中的定义为:
- struct timeval
- {
- __time_t tv_sec; /* Seconds. */
- __suseconds_t tv_usec; /* Microseconds. */
- };
其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒数,即秒后面的零头。比如当前我写博文时的tv_sec为1244770435,tv_usec为442388,即当前时间距Epoch时间1244770435秒,442388微秒。需要注意的是,因为循环过程,新建结构体变量等过程需消耗部分时间,我们作下面的运算时会得到如下结果:
- #include <sys/time.h>
- #include <stdio.h>
- int
- main(void)
- {
- int i;
- struct timeval tv;
- for(i = 0; i < 4; i++){
- gettimeofday(&tv, NULL);
- printf("%d\t%d\n", tv.tv_usec, tv.tv_sec);
- sleep(1);
- }
- return 0;
- }
- 329612 1314851429
- 329782 1314851430
- 329911 1314851431
- 330036 1314851432
前面为微秒数,后面为秒数,可以看出,在这个简单运算中,只能精确到小数点后面一到两位,或者可以看出,每进行一次循环,均需花费0.005秒的时间,用这个程序来作计时器显然是不行的,除非精确计算产生的代码消耗时间。
二、gettimeofday()函数
原型:
- /* Get the current time of day and timezone information,
- putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled.
- Returns 0 on success, -1 on errors.
- NOTE: This form of timezone information is obsolete.
- Use the functions and variables declared in <time.h> instead. */
- extern int gettimeofday (struct timeval *__restrict __tv,
- __timezone_ptr_t __tz) __THROW __nonnull ((1));
gettimeofday()功能是得到当前时间和时区,分别写到tv和tz中,如果tz为NULL则不向tz写入。
struct timeval结构体 以及 gettimeofday()函数相关推荐
- struct timeval结构体 以及 gettimeofday()函数、struct timespec结构体
struct timeval结构体 struct timeval结构体在time.h中的定义为: struct timeval { __time_t tv_sec; /* Seconds. */ __ ...
- linux系统中struct timeval结构体、struct timezone结构体以及gettimeofday函数
格林尼治时间.协调世界时 间.世界时间.日光节约时间以及时区等介绍: 格林尼治时间(Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的标准时间,因为本初子午 ...
- struct timeval结构体
struct timeval结构体在time.h中的定义为: struct timeval { __time_t tv_sec; /* Seconds. */ __suseconds_t ...
- struct timeval 结构体使用浅析
时间结构体struct timeval的使用 #include <sys/time.h> 该头文件的位置在:/usr/include/x86_64-linux-gnu/sys/time.h ...
- timeval结构体的应用
timeval结构体的简单应用 timeval定义 作为计时器 timeval定义 timeval是Linux系统中定义的用于保存时间的结构体,在time.h中的定义为: struct timeval ...
- struct结构体扩展-成员函数
struct结构体扩展-成员函数 在C++中,允许在结构中定义函数,该函数被称为成员函数,描述形式如下: struct 结构名{数据成员成员函数 } 例题描述: 输入n个学生的信息,每个学生信息包括姓 ...
- c语言结构体作为形参是否加struct_(struct)结构体变量作为函数参数调用的方法小结...
结构体变量作为函数参数传递的3种方法将一个结构体变量中的数据传递给另一个函数,有下列3种方法:用结构体变量名作参数.一般较少用这种方法.用指向结构体变量 结构体变量.结构指针变量.结构数组作为函数的参 ...
- linux 中 timeval结构体 - Neddy11 - 博客园
linux 中 timeval结构体 - Neddy11 - 博客园 linux 中 timeval结构体 网上很多人写到,timeval结构解释错误 ************************ ...
- timeval结构体的使用
今天在在学习过程中遇到一个结构体timeval,不是很了解它用法,现在简单的总结一下: struct timeval { time_t tv_sec; /*seconds, 秒*/ S ...
最新文章
- Red Hat Enteripse Linux5下配置yum源的方法
- python定义匿名函数关键字_python语言的匿名函数、7种可调用对象以及用户定义的可调用类型...
- Pandas图表自定义数据格式
- 技术人必看:15张图对比高效与瞎忙的区别!
- 开源计算机集群监控Ganglia应用视频
- 批处理等待上一条完成再执行下面的_分布式批处理实现方案
- (62)FPGA面试题-用verilog写一段代码,实现消除一个glitch(毛刺)(一)
- Xception: DeepLearning with Depthwise Separable Convolutions2017Google【论文理解】
- 51单片机控制步进电机正反转
- Java网络编程IO模型 --- BIO、NIO、AIO详解
- WIN2008R2激活工具
- 二维vector初始化方法
- html显示千分位及小数位,使用CSS格式化数字(小数位,千位分隔符等)
- word 中的背景图片(浮动图形)怎么批量删除
- 引用论坛、社区、问答系统的区别
- api接口—闲鱼搜索的数据
- 关于win10无限重启的解决方案
- 中国伸缩式起重机行业市场供需与战略研究报告
- 对List<Map>数据排序
- 微信小程序——new Date()显示NAN + 正则表达式
热门文章
- python爬虫实际应用_如何使用python爬虫论坛?
- mave工程中的一个类调用另一个聚合工程的一个类_求求你,别再写上千行的类了好吗...
- python调试神器_你必须拥有的Python调试神器
- python函数可变参数_python中函数的可变参数
- 笨方法“学习python笔记之关键字
- Spark streaming 概述
- phpcmsV9支付: 支付宝支付配置 (资源汇总)
- phpcmsV9 公告内容(图片不显示问题)
- phpcms v9 sql数据{$r[content]},前端如何换行显示?
- Swagger:后端文档生成工具