如何使用gettimeofday()来获取运行时间?

zie*_* ny 1 c c++ system-calls

我的问题是"t1.tv_usec-t0.tv_usec"的含义是什么?我觉得这部分没用,有什么意思"*1000000"?

gettimeofday(&t0, 0);
/* ... */
gettimeofday(&t1, 0);
long elapsed = (t1.tv_sec-t0.tv_sec)*1000000 + t1.tv_usec-t0.tv_usec;
Run Code Online (Sandbox Code Playgroud)

Iha*_*imi 6

它将总时间转换为μs,因为它是总时间的微秒tv_usec部分,tv_sec是秒部分,您需要将秒数乘以1000000得到它们所代表的μs数.