- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C获取代码运行时间的各种方法
C++获取代码运行时间
如何获取代码运行时间在调试中,经常需要计算某一段代码的执行时间,下面给出两种常用的方式:第一种:使用GetTickCount函数#includeiostream#includewindows.hint main(){DWORD start_time=GetTickCount();{//此处为被测试代码}DWORD end_time=GetTickCount();coutThe run time is:(end_time-start_time)ms!endl;//输出运行时间return 0;}?GetTickCount函数返回从系统运行到现在所经历的时间(类型为DWORD),单位为ms,因为DWORD表示范围的限制,所以使用此种方法存在限制,即系统的运行时间的ms表示不能超出DWORD的表示范围。第二种:使用clock()函数??#includeiostream#includetime.hint main(){clock_t start_time=clock();{//被测试代码}clock_t end_time=clock();cout Running time is: static_castdouble(end_time-start_time)/CLOCKS_PER_SEC*1000msendl;//输出运行时间return 0;}?clock_t,clock()定义于time.h中,clock()返回从程序运行时刻开始的时钟周期数,类型为long.CLOCKS_PER_SEC定义了每秒钟包含多少了时钟单元数,因为计算ms,所以*1000。? ??? 由上面分析可知,用clock()函数计算运行时间,表示范围一定大于GetTickCount()函数,所以,建议使用clock()函数。===============================================================================1.使用CTime类??CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();str=tm.Format(现在时间是%Y年%m月%d日 %X);MessageBox(str,NULL,MB_OK);2: 得到系统时间日期(使用GetLocalTime)SYSTEMTIME st;CString strDate,strTime;GetLocalTime(st);strDate.Format(%4d-%2d-%2d,st.wYear,st.wMonth,st.wDay);strTime.Format(%2d:%2d:%2d,st.wHour,st.wMinute,st.wSecond);3.使用GetTickCount//获取程序运行时间long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)Sleep(500);long t2=GetTickCount();();//程序段结束后取得系统运行时间(ms)str.Format(time:%dms,t2-t1);//前后之差即 程序运行时间AfxMessageBox(str);//获取系统运行时间long t=GetTickCount();CString str,str1;str1.Format(系统已运行 %d时,t/3600000);str=str1;t%=3600000;str1.Format(%d分,t/60000);str+=str1;t%=60000;str1.Format(%d秒,t/1000);str+=str1;AfxMessageBox(str);如何在VC6.0中得到一个程序的运行时间,也就是这个程序耗费的时钟周期数// C和C++的时间编程??#includeiostream?#includectime?using namespace std;?int main()?{?time_t begin,end;?begin=clock();?//这里加上你的代码?end=clock();?coutruntime: double(end-begin)/CLOCKS_PER_SECendl;?}?unix时间相关,也是标准库的这些在time.h1.timegm函数只是将struct tm结构转成time_t结构,不使用时区信息;time_t timegm(struct tm *tm);??2.mktime使用时区信息time_t mktime(stru
文档评论(0)