C gettimeofday差不给我一个时间范围
我正在用c写一些基本的东西,它是执行一个shell脚本所需时间的倍 我有C gettimeofday差不给我一个时间范围,c,time,C,Time,我正在用c写一些基本的东西,它是执行一个shell脚本所需时间的倍 我有 gettimeofday(&start, NULL); // code here gettimeofday(&end, NULL); // print end - start 我知道timeval结构中有tv_sec和tv_usec,我对此进行了说明,但即使对于“sleep 3”这样的脚本,我仍然得到了0,因为这是结束-开始差异。有人猜测为什么吗 试试这个例子: double dtime(){
gettimeofday(&start, NULL);
// code here
gettimeofday(&end, NULL);
// print end - start
我知道timeval结构中有tv_sec和tv_usec,我对此进行了说明,但即使对于“sleep 3”这样的脚本,我仍然得到了0,因为这是结束-开始差异。有人猜测为什么吗 试试这个例子:
double dtime(){
double t;
struct timeval tv;
gettimeofday(&tv, NULL);
t = tv.tv_sec + ((double)tv.tv_usec)/1e6;
return t;
}
…
double t0 = dtime();
…
printf("Time spend: %g seconds\n", dtime()-t0);
您应该阅读以下内容:
尝试使用
clock\u gettime(clock\u MONOTONIC,…)
。你是对的:在严肃的软件开发中,开发人员只能这样做。我的方法只适用于简单的自用物品。