您的位置:首页 > 运维架构 > Linux

Linux时间函数之gettimeofday()函数之使用方法

2017-05-17 16:04 846 查看

Linux时间函数之gettimeofday()函数之使用方法

标签:
linuxtimezonestructdelaynull

2011-12-04 15:59
48011人阅读 评论(1)
收藏
举报

本文章已收录于:


分类:
linux应用层编程(30)




作者同类文章X

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]
简介
函数原型
说明
结构体
程序实例
二gettimeofday函数的一个常用方法

一.gettimeofday()函数的使用方法:

1.简介:

C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙

2.函数原型:

#include<sys/time.h>
int gettimeofday(struct  timeval*tv,struct  timezone *tz )

3.说明:

gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中

4.结构体:

1>timeval
struct  timeval{
   
       long  tv_sec;/*秒*/
       long  tv_usec;/*微妙*/
};
2>timezone 结构定义为:
struct  timezone{
        int tz_minuteswest;/*和greenwich 时间差了多少分钟*/
        int tz_dsttime;/*type of DST correction*/
}
3>在gettimeofday()函数中tv或者tz都可以为空。如果为空则就不返回其对应的结构体。
4>函数执行成功后返回0,失败后返回-1,错误代码存于errno中。

5.程序实例:

#include<stdio.h>

#include<sys/time.h>
#include<unistd.h>
 
int main()
{
        struct  timeval    tv;
        struct  timezone   tz;
        gettimeofday(&tv,&tz);
 
        printf(“tv_sec:%d\n”,tv.tv_sec);
        printf(“tv_usec:%d\n”,tv.tv_usec);
        printf(“tz_minuteswest:%d\n”,tz.tz_minuteswest);
        printf(“tz_dsttime:%d\n”,tz.tz_dsttime);
}
说明:在使用gettimeofday()函数时,第二个参数一般都为空,因为我们一般都只是为了获得当前时间,而不用获得timezone的数值

二.gettimeofday()函数的一个常用方法

测试程序时,往往需要了解程序执行所需的时间,在Linux中可以使用函数gettimeofday来得到时间.
1.程序实例:
测试调用delya()函数所需执行的时间(单位为微妙)
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
 
int delay(int time)
{
    int i,j;
   
    for(i =0;i<time;i++)
        for(j=0;j<5000;j++)
            ;
}
 
int main()
{
        struct  timeval start;
        struct  timeval end;
       
        unsigned  long diff;
        gettimeofday(&start,NULL);
        delay(10);
        gettimeofday(&end,NULL);
diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
        printf(“thedifference is %ld\n”,diff);
        return 0;
       
}
说明:
使用该方法就可以检测出调用delay()函数所使用的时间



顶 11 踩 0
 
 
上一篇Linux之C语言中如何抛出异常或将异常写入日志文件中

下一篇C语言复习之结构体基础知识

linux操作系统下c语言编程入门linux操作系统下c语言编程入门linux操作系统下c语言编程入门•linux操作系统下c语言编程入门 转-----非常经典的文章
Linux系统C编程资料linux操作系统下c语言编程入门linux操作系统下c语言编程入门linux操作系统下c语言编程入门linux操作系统下c语言编程入门Linux 的多线程编程的高效开发经验

  相关文章推荐

linux操作系统下c语言编程入门
linux操作系统下c语言编程入门
linux操作系统下c语言编程入门
•linux操作系统下c语言编程入门 转-----非常经典的文章

Linux系统C编程资料
linux操作系统下c语言编程入门
linux操作系统下c语言编程入门
linux操作系统下c语言编程入门
linux操作系统下c语言编程入门
Linux 的多线程编程的高效开发经验
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: