gpt4 book ai didi

C - 计算时间的gettimeofday?

转载 作者:太空狗 更新时间:2023-10-29 16:23:36 27 4
gpt4 key购买 nike

你知道如何使用 gettimeofday 来测量计算时间吗?我可以通过这段代码测量一次:

  char buffer[30];
struct timeval tv;

time_t curtime;



gettimeofday(&tv, NULL);
curtime=tv.tv_sec;

strftime(buffer,30,"%m-%d-%Y %T.",localtime(&curtime));
printf("%s%ld\n",buffer,tv.tv_usec);

这个是在计算之前制作的,第二个是在计算之后制作的。但是你知道怎么减吗?

我需要以毫秒为单位的结果

最佳答案

减去时间间隔:

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

这是假设您将使用短于 ~2000 秒的间隔工作,此时算法可能会溢出,具体取决于所使用的类型。如果您需要使用更长的间隔,只需将最后一行更改为:

long long elapsed = (t1.tv_sec-t0.tv_sec)*1000000LL + t1.tv_usec-t0.tv_usec;

关于C - 计算时间的gettimeofday?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5362577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com