linux中获取系统时间 gettimeofday函数

linux的man页中对gettimeofday函数的说明中,有这样一个说明:
 
$ 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 */
    };
 
该函数以及Linux内核返回的timeval类型的时间值,tv_usec代表的是微秒精度(10的-6次方秒)。
 
使用举例
#include <stdio.h>
#include <sys/time.h>
#include <time.h>

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;
}

调试一个函数执行时间时,可以使用两个timeval的变量,分别记录函数起始和函数结束时的时间,从而计算出该函数执行的时间消耗。

 



posted @ 2013-12-09 15:07  海角七号的Blog  阅读(2496)  评论(0编辑  收藏  举报