Chinaunix首页 | 论坛 | 博客
  • 博客访问: 783690
  • 博文数量: 296
  • 博客积分: 5376
  • 博客等级: 大校
  • 技术积分: 2298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 19:02
文章分类

全部博文(296)

文章存档

2023年(2)

2020年(2)

2018年(2)

2017年(26)

2016年(4)

2015年(19)

2014年(12)

2013年(26)

2012年(84)

2011年(50)

2010年(41)

2009年(28)

分类: Windows平台

2015-03-19 12:50:05



在我们实际的编程工作中,经常要测量程序的运行时间,比如衡量算法的运行时间等等。在这里我收集了网上集中测量程序运行时间的方法。

通过网上查阅资料,找到以下几种VC中求取程序运行时间的方法:

方法一 利用GetTickCount函数(ms)

代码:

CString str;         
 

longt1=GetTickCount();//程序段开始前取得系统运行时间(ms)            

。。。。。。
//to do sth

longt2=GetTickCount();//程序段结束后取得系统运行时间(ms)        

str.Format(
"time:%dms",t2-t1);//前后之差即程序运行时间        

AfxMessageBox(str); 

 

方法二利用C/C++计时函数(s)

代码:

#include"time.h"

clock_t   start,   finish;

start
=clock(); 

finish
= clock();

printf("%f seconds\n",(double)(finish-start)/CLOCKS_PER_SEC); 

方法三  利用CTime类 获取系统时间

代码:

CString str;

//获取系统时间


CTime tm;

tm
=CTime::GetCurrentTime();

str
=tm.Format("现在时间是%Y年%m月%d日  %X"
);

AfxMessageBox(str);

方法四  利用GetLocalTime类获取系统时间

SYSTEMTIME st;

CString strDate,strTime;

GetLocalTime(
&
st);

strDate.Format(
"M----"
,st.wYear,st.wMonth,st.wDay);

strTime.Format(
"-:-:-"
,st.wHour,st.wMinute,st.wSecond);

AfxMessageBox(strDate);

AfxMessageBox(strTime);

 

方法五 利用API函数

BOOL QueryPerformanceCounter(
  LARGE_INTEGER *lpPerformanceCount // counter value );

 

 

我目前找到的也就这几种方法,如果还有什么新的方法,也不妨和大家一起分享一下。


原文链接:http://blog.csdn.net/zhouxuguang236/article/details/7884048
阅读(1026) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~