如何在C++中测得一个程序的运行时间?要求精确到毫秒一级。。。
2个回答
展开全部
可以这样
#include <ctime> //计时用的头文件
#include <iostream>
using namespace std;
int main()
{
time_t start,end,time; /*注意计时所用的变量名称*/
/*程序开始执行,开始计时*/
start=clock();
/*程序执行过程……*/
for(int i=0;i<=100000;i++) cout << i << ' ';
cout << endl;
/*程序结束执行,结束计时*/
end=clock();
time=end-start;//这里的时间是计算机内部时间
cout << endl << ""time:" << time << endl;
system("pause");
return 0;
}
还有多种其他用法,你可以看我的参考资料。
#include <ctime> //计时用的头文件
#include <iostream>
using namespace std;
int main()
{
time_t start,end,time; /*注意计时所用的变量名称*/
/*程序开始执行,开始计时*/
start=clock();
/*程序执行过程……*/
for(int i=0;i<=100000;i++) cout << i << ' ';
cout << endl;
/*程序结束执行,结束计时*/
end=clock();
time=end-start;//这里的时间是计算机内部时间
cout << endl << ""time:" << time << endl;
system("pause");
return 0;
}
还有多种其他用法,你可以看我的参考资料。
参考资料: http://apps.hi.baidu.com/share/detail/31304037
展开全部
windows API中有一个函数,取当前的时钟数 GetTickCount() 单位ms
unsigned int t0=::GetTickCount();
//你的程序
unsigned int t1=::GetTickCoun();
两次取到的差值 t1-t0 就是所花的毫秒数,我们一直这么做,
我用的是c++BUILDER6.0,如果是其它C++,
一要解决它的头文件嵌入,
unsigned int t0=::GetTickCount();
//你的程序
unsigned int t1=::GetTickCoun();
两次取到的差值 t1-t0 就是所花的毫秒数,我们一直这么做,
我用的是c++BUILDER6.0,如果是其它C++,
一要解决它的头文件嵌入,
追问
我用的是VC++6.0,应该怎样写头文件?
追答
WINAPI邦助中的说明
he GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
DWORD GetTickCount(VOID)
Parameters
This function has no parameters.
Return Values
If the function succeeds, the return value is the number of milliseconds that have elapsed since Windows was started.
---------------------------------
Remarks
The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if Windows is run continuously for 49.7 days.
Windows NT: To obtain the time elapsed since the computer was started, look up the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8 byte value.
头文件
#include "winbase.h"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询