C常见程序计时方法.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C常见程序计时方法

目录  TOC \o 1-3 \h \z \u  HYPERLINK \l _Toc312659130 1.常规计时  PAGEREF _Toc312659130 \h 1  HYPERLINK \l _Toc312659131 1.1 time()  PAGEREF _Toc312659131 \h 1  HYPERLINK \l _Toc312659132 1.2 GetTickCount  PAGEREF _Toc312659132 \h 3  HYPERLINK \l _Toc312659133 2.使用CPU时间戳进行高精度计时  PAGEREF _Toc312659133 \h 4  HYPERLINK \l _Toc312659134 3.精确获取时间QueryPerformanceCounter  PAGEREF _Toc312659134 \h 7  1.常规计时 1.1 time() C语言中time()函数 函数简介   函数名: time   头文件:time.h   函数原型:time_t time(time_t * timer)   功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。   补充说明:time函数的原型也可以理解为 long time(long *tloc),即返回一个long型整数。因为在time.h这个头文件中time_t实际上就是:   #ifndef _TIME_T_DEFINED   typedef long time_t; /* time value */   #define _TIME_T_DEFINED /* avoid multiple defines of time_t */   #endif   即long。 函数应用举例   程序例1:   time函数获得日历时间。日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的 HYPERLINK /view/487018.htm \t _blank 编译器来说会有所不同,但对一个 HYPERLINK /view/3279760.htm \t _blank 编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。   #include time.h   #include stdio.h   #include  HYPERLINK /view/1623344.htm \t _blank dos.h   int main(void)   {   time_t t; t = time(NULL);   printf(The number of seconds since January 1, 1970 is %ld,t);   return 0;   }   程序例2:   //time函数也常用于随机数的生成,用日历时间作为种子。   #include stdio.h   #include time.h   #include HYPERLINK /view/1347718.htm \t _blank stdlib.h   int main(void)   {   int i;    HYPERLINK /view/1458234.htm \t _blank srand((unsigned) time(NULL));   printf(ten random numbers from 0 to 99\n\n);   for(i=0;i10;i++)   {   printf(%d\n,rand()%100);   }   return 0;   }   程序例3:   用time()函数结合其他函数(如:localtime、 HYPERLINK /view/1117320.htm \t _blank gmtime、 HYPERLINK /view/653923.htm \t _blank asctime、 HYPERLINK /view/654014.htm \t

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档