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的變量,分別記錄函數起始和函數結束時的時間,從而計算出該函數執行的時間消耗。linux

 

相關文章
相關標籤/搜索