linux 内核/用户空间获取时间

1、内核空间

 #include<time.h>

    struct timeval stime,etime;
    do_gettimeofday(&stime);
 ... ... ... ... ...
    lsmfts_set_targe_focal(priv->lsMfts,focalLength);    //设置targe focla值 focalvalue[0,100]
    do_gettimeofday(&etime);
    printk("----do_gettimeofday----of setFoccalLength_od time %d us----\n",(etime.tv_sec - stime.tv_sec)*1000000 + (etime.tv_usec - stime.tv_usec));  //即为时间差
    return 0;

2、用户空间

 #include <time.h>
 #include <sys/time.h>

 typedef unsigned long long guint64;

 guint64 system_current_time_millis()
  {
     struct timeval tve;
     gettimeofday(&tve,NULL);
     guint64  sec=tve.tv_sec;
     guint64  microseconds=tve.tv_usec;
     guint64  total=sec*G_GINT64_CONSTANT(1000)+microseconds/G_GINT64_CONSTANT(1000);
     return total;
  }

 guint64 system_current_time_nano()
  {
     struct timeval tve;
     gettimeofday(&tve,NULL);
     guint64  sec=tve.tv_sec;
     guint64  microseconds=tve.tv_usec;
     guint64  total=sec*G_GINT64_CONSTANT(1000*1000*1000)+microseconds*G_GINT64_CONSTANT(1000);
     return total;
  }

 guint64 system_current_time_micro()
  {
     struct timeval tve;
     gettimeofday(&tve,NULL);
     guint64  sec=tve.tv_sec;
     guint64  microseconds=tve.tv_usec;
     guint64  total=sec*G_GINT64_CONSTANT(1000*1000)+microseconds;
     return total;
  }


 guint64 time1= system_current_time_millis();
    ... ... ... ... ...
    guint64 time2= system_current_time_millis();
    printf("----system_current_time_micro:%llums-%llums = %llu ms----\n", time2,time1,time2-time1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值