c99中的时间以毫秒为单位?
time in milliseconds in c99?
我试图弄清楚如何计算 C99 中某些套接字编程连接之间的毫秒数,但在 C99 上得到 0 毫秒,而 returns 在 mac 终端上得到实际值。我包括了我的代码的时间部分。
初始化:
struct timeval start,end;
double t1,t2;
t1 = 0.0;
t2 = 0.0;
运营开始:
t1+=start.tv_sec+(start.tv_usec/1000000.0);
操作结束:
t2+=end.tv_sec+(end.tv_usec/1000000.0);
然后以毫秒为单位打印实际时间:
printf("Sent........RTT = %g ms\n",(t2-t1)/100);
假设您正确地更新了 timeval
结构,您不是在计算毫秒,而是在计算整秒,并且打印差值除以 100 而不是乘以 1000。计算时间会降低精度差异:
diff += (end.tv_sec - start.tv_sec) * 1000.0 + end.tv_usec / 1000.0 - start.tv_usec / 1000.0;
...
printf("Sent........RTT = %g ms\n", diff / 100);
我试图弄清楚如何计算 C99 中某些套接字编程连接之间的毫秒数,但在 C99 上得到 0 毫秒,而 returns 在 mac 终端上得到实际值。我包括了我的代码的时间部分。
初始化:
struct timeval start,end;
double t1,t2;
t1 = 0.0;
t2 = 0.0;
运营开始:
t1+=start.tv_sec+(start.tv_usec/1000000.0);
操作结束:
t2+=end.tv_sec+(end.tv_usec/1000000.0);
然后以毫秒为单位打印实际时间:
printf("Sent........RTT = %g ms\n",(t2-t1)/100);
假设您正确地更新了 timeval
结构,您不是在计算毫秒,而是在计算整秒,并且打印差值除以 100 而不是乘以 1000。计算时间会降低精度差异:
diff += (end.tv_sec - start.tv_sec) * 1000.0 + end.tv_usec / 1000.0 - start.tv_usec / 1000.0;
...
printf("Sent........RTT = %g ms\n", diff / 100);