linux 获取时间差

来源:互联网 发布:亨廷顿 谈中国知乎 编辑:程序博客网 时间:2024/06/06 02:05
 [转]linux下获得时间差,精确到微秒级别 2008-03-12 10:05:45

分类:

最近需要测算软件计算FFT所需要的时间,所收集参考的资料:
 
 
#include   <stdio.h>   
  #include   <stdlib.h>                                                 /*   包含标准库头文件   */   
  #include   <sys/time.h>   
    
  int   main(int   argc,   char   **argv)   
  {   
  struct   timeval   start,stop,diff;   
  gettimeofday(&start,0);   
                    //做你要做的事...   
  gettimeofday(&stop,0);   
  timeval_subtract(&diff,&start,&stop);   
                    printf("总计用时:%d 微秒n",diff.tv_usec);   
  }                     
    
  /**   
      *   计算两个时间的间隔,得到时间差   
      *   @param   struct   timeval*   resule   返回计算出来的时间   
      *   @param   struct   timeval*   x             需要计算的前一个时间   
      *   @param   struct   timeval*   y             需要计算的后一个时间   
      *   return   -1   failure   ,0   success   
  **/   
  int   timeval_subtract(struct   timeval*   result,   struct   timeval*   x,   struct   timeval*   y)   
  {   
        int   nsec;   
    
        if   (   x->tv_sec>y->tv_sec   )   
                  return   -1;   
    
        if   (   (x->tv_sec==y->tv_sec)   &&   (x->tv_usec>y->tv_usec)   )   
                  return   -1;   
    
        result->tv_sec   =   (   y->tv_sec-x->tv_sec   );   
        result->tv_usec   =   (   y->tv_usec-x->tv_usec   );   
    
        if   (result->tv_usec<0)   
        {   
                  result->tv_sec--;   
                  result->tv_usec+=1000000;   
        }   
    
        return   0;   
  }   
   
 
--------------------------------------------------
#include   <sys/time.h>   
  #include   <unistd.h>   
  int   gettimeofday(struct   timeval   *tv,struct   timezone   *tz);   
  功能:将目前的时间以tv所指的结构返回。   
  struct   timeval{   
          long   tv_sec;//秒   
          long   tv_usec;//微秒   
  };   
  将其中的tv_usec转换到毫秒即可。   
  timezone结构自己查吧
 
 
 
附录:
-------------------------------------------------
Linux下获得系统时间的C语言的实现方法   
  #include<time.h>     //C语言的头文件   
  #include<stdio.h>     //C语言的I/O   
    
  void   main()   
  {   
  time_t   now;         //实例化time_t结构   
  struct   tm     *timenow;         //实例化tm结构指针   
  time(&now);   
  //time函数读取现在的时间(国际标准时间非北京时间),然后传值给now   
    
  timenow   =   localtime(&now);   
  //localtime函数把从time取得的时间now换算成你电脑中的时间(就是你设置的地区)   
    
  printf("Local   time   is   %sn",asctime(timenow));   
  //上句中asctime函数把时间转换成字符,通过printf()函数输出   
  }   
    
  注释:time_t是一个在time.h中定义好的结构体。而tm结构体的原形如下:   
    
  struct   tm   
  {   
      int   tm_sec;//seconds   0-61   
      int   tm_min;//minutes   1-59   
      int   tm_hour;//hours   0-23   
      int   tm_mday;//day   of   the   month   1-31   
      int   tm_mon;//months   since   jan   0-11   
      int   tm_year;//years   from   1900   
      int   tm_wday;//days   since   Sunday,   0-6   
      int   tm_yday;//days   since   Jan   1,   0-365   
      int   tm_isdst;//Daylight   Saving   time   indicator   
  };   

0

上一篇:DataTable,DataView和DataGrid比较

下一篇:[转]主设备号与次设备号

相关热门文章
  • 承接自动化测试培训、外包、实...
  • Solaris PowerTOP 1.0 发布
  • For STKMonitor
  • 项目小体会
  • phpStudy 2010下载,PHP5开发...
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网上买的手机没发票怎么办 手机店花呗分期额度不够怎么办 买了手机没有开票怎么办 在京东上买苹果手机没有发票怎么办 买到苹果演示机怎么办 京东白条借不了怎么办 买了东西不给退怎么办 邮政储蓄银行买东西多扣钱了怎么办 快递送错地方了怎么办 菜鸟驿站超过5天怎么办 消费者买到不合格产品怎么办 如果买到不合格的产品怎么办 买到不合格的种子怎么办 买到不合格的空调怎么办 买到不合格的家具怎么办 灭火器买到不合格产品怎么办 路边买到假手机怎么办 网上买的手机屏幕碎了怎么办 天猫订单删除了怎么办 华为入职预约满怎么办 三星c5玩王者荣耀卡怎么办 三星s8背部碎了怎么办 保修期内发动机坏了怎么办 6s主板进水了怎么办 新买的狗晚上叫怎么办 官网手机坏了怎么办 小米商城买手机不发货怎么办 小米商城分期额度不够怎么办 京东买家未退款怎么办 京东自营不退款怎么办 苏宁易购的无门槛15元怎么办 小米5shome键失灵怎么办 苹果电量用的快怎么办 苹果5s掉电快怎么办 小米5s返回键失灵怎么办 苹果5s漏电是怎么办 苹果6s手机漏电怎么办 5s返回键失灵怎么办 苹果5s返回键失灵怎么办 小米5返回键失灵怎么办 小米手机返回键失灵怎么办