先看gettimeofday的语法定义:
使用前先包含头文件#include<sys/time.h>
第一个参数:是个timeval *类型的结构体,该结构体如下
timeval.tv_sec 就是秒呗
timeval.tv_usec 就是微秒
一般我们使用gettimeofday是用来获得某段代码运行的时间,所以第二个参数一般设置为NULL
图放上来感兴趣自己看
返回值
成功返回0,失败返回-1并记录在errno中
使用方法:其实就是记录两个时间点,然后求差值,一个是秒的差值,一个是微秒的差值
#include<stdio.h>
#include<sys/time.h>
void main()
{struct timeval starttime,endtime;//定义起始变量long int i = 1,sum = 0;float timeuse;gettimeofday(&starttime,NULL);//开始for(i; i <= 10000; i++){sum = sum + i;}gettimeofday(&endtime,NULL);//结束printf("sum = %ld\n",sum);timeuse = 1000000*(endtime.tv_sec - starttime.tv_sec) + \(endtime.tv_usec - starttime.tv_usec);timeuse /= 1000000;printf("timeuse = %f\n",timeuse);
}
结果如下,循环到100看不出来时间,所以加到10000
烦死了多大的图上都得贴个水印,有没有能去除水印的办法,支个招