在Linux系统中,使用struct timeval
结构体来表示时间间隔。可以使用该结构体来进行时间测量和计时。
下面是一个简单的示例,演示如何使用struct timeval
来测量代码段的执行时间:
#include#include int main() { struct timeval start, end; long long elapsedTime; // 获取起始时间 gettimeofday(&start, NULL); // 在这里执行需要测量时间的代码段 // 例如,这里简单地休眠1秒钟 sleep(1); // 获取结束时间 gettimeofday(&end, NULL); // 计算时间间隔 elapsedTime = (end.tv_sec - start.tv_sec) * 1000000LL + (end.tv_usec - start.tv_usec); printf("Elapsed time: %lld microseconds\n", elapsedTime); return 0; }
在这个示例中,首先获取起始时间,然后执行需要测量时间的代码段(这里简单地使用sleep(1)
让程序休眠1秒钟),接着获取结束时间并计算时间间隔,最后打印出经过的时间。
需要注意的是,struct timeval
中的tv_sec
和tv_usec
分别表示秒和微秒。将两者相乘即可得到总的微秒数,从而得到代码段的执行时间。