微秒计时实现如下:
long time_long=0; //初始时间
double time_double=0; //与初始时间的差值(计时时间)
struct timeval tv;
gettimeofday(&tv,NULL);
printf("microsecond:%ld\n",tv.tv_sec*1000000 + tv.tv_usec); //微秒,*1000000+usec是为了整合成整数,再除1000000可以成为附带微秒的时间
time_long=tv.tv_sec*1000000 + tv.tv_usec;
sleep(3); //程序睡三秒后对比
printf("3s later:\n");
gettimeofday(&tv,NULL);
time_double=(tv.tv_sec*1000000 + tv.tv_usec - time_long)*1.000000/1000000 ;
printf("microsecond:%lf\n",time_double); //微秒
sleep(3); //程序睡三秒后对比
printf("3s later:\n");
gettimeofday(&tv,NULL);
time_double=(tv.tv_sec*1000000 + tv.tv_usec - time_long)*1.000000/1000000 ;
printf("microsecond:%lf\n",time_double); //微秒