北极星6号 2016-04-03 07:46 采纳率: 33.3%
浏览 1466

UNIX环境高级编程 times() 疑问

  1. 例程
 int main(int argc, char *argv[])
{
        clock_t s_clk,e_clk;
        struct tms s_tms,e_tms;

        s_clk = times(&s_tms);
        system("ls /dev");
        system("date");
        sleep(1);
        e_clk = times(&e_tms);
        printf("e_clk %ld - s_clk %ld = %ld\n",e_clk , s_clk,e_clk-s_clk);
// pr_time(1,s_tms,e_tms);

        printf("user time e_tms %ld - s_tms %ld = %ld\n",
                        e_tms.tms_utime,s_tms.tms_stime,(e_tms.tms_utime - s_tms.tms_utime));
        printf("system time e_tms %ld - s_tms %ld = %ld\n",
                        e_tms.tms_stime,s_tms.tms_stime,(e_tms.tms_stime - s_tms.tms_stime));

        return 0;
}

./a.out
2016年 04月 03日 星期日 15:40:10 CST
e_clk 1742131978 - s_clk 1742131878 = 100
user time e_tms 0 - s_tms 0 = 0
system time e_tms 0 - s_tms 0 = 0

时间差为什么还是 0.

  • 写回答

2条回答

  • 小灸舞 2016-04-03 11:53
    关注

    楼主要不sleep久一点试试。
    如果一个进程 的运行时间很短,短到和系统的计时器间隔一个数量级,用这种方法测出来的结果必然是不够精确的,头尾都有误差。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?