标签:
前言:
在开发中,很多时候需要知道各个函数或者是某些设备对命令的操作用时,因此需要用到 gettimeofday 来获取当前时钟。
一,函数说明
#include
int gettimeofday(struct timeval *tv, struct timezone *tz);
注意:
点击(此处)折叠或打开
struct timeval { long int tv_sec; // 秒数 long int tv_usec; // 微秒数 }
点击(此处)折叠或打开
struct timezone { int tz_minuteswest;/*格林威治时间往西方的时差*/ int tz_dsttime; /*DST 时间的修正方式*/ }
点击(此处)折叠或打开
DST_NONE /*不使用*/ DST_USA /*美国*/ DST_AUST /*澳洲*/ DST_WET /*西欧*/ DST_MET /*中欧*/ DST_EET /*东欧*/ DST_CAN /*加拿大*/ DST_GB /*大不列颠*/ DST_RUM /*罗马尼亚*/ DST_TUR /*土耳其*/ DST_AUSTALT /*澳洲(1986年以后)*/
点击(此处)折叠或打开
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/time.h> 5 int time_substract(struct timeval *result, struct timeval *begin,struct timeval *end) 6 { 7 if(begin->tv_sec > end->tv_sec) return -1; 8 if((begin->tv_sec == end->tv_sec) && (begin->tv_usec > end->tv_usec)) return -2; 9 result->tv_sec = (end->tv_sec - begin->tv_sec); 10 result->tv_usec = (end->tv_usec - begin->tv_usec); 11 12 if(result->tv_usec < 0) 13 { 14 result->tv_sec--; 15 result->tv_usec += 1000000; 16 } 17 return 0; 18 } 19 int main(int argc, char **argv) 20 { 21 struct timeval start,stop,diff; 22 memset(&start,0,sizeof(struct timeval)); 23 memset(&stop,0,sizeof(struct timeval)); 24 memset(&diff,0,sizeof(struct timeval)); 25 gettimeofday(&start,0); 26 //做你要做的事... 27 printf("hello world\n"); 28 gettimeofday(&stop,0); 29 time_substract(&diff,&start,&stop); 30 printf("Total time : %d s,%d us\n",(int)diff.tv_sec,(int)diff.tv_usec); 31 }
linux中C语言获取高精度时钟gettimeofday函数
标签:
原文地址:http://www.cnblogs.com/balingybj/p/4725734.html