在C++里,如何求出一个程序运行的时间,精确到秒以下更好!
内容如标题~谢谢各位了!
[解决办法]
- C/C++ code
#include <ctime>int main(){ clock_t t=clock(); //要测时间的代码 cout<<clock()-t<<endl; return 0;}
[解决办法]
够你看的了
http://blog.csdn.net/wanfustudio/archive/2006/06/01/767564.aspx
http://blog.csdn.net/wanfustudio/archive/2006/10/18/1339921.aspx
[解决办法]
DWORD dwStart = GetTickCount();
你的代码
cout << GetTickCount() - dwStart;
[解决办法]
加上相关头文件 time.h
在MAIN函数开始
clock_t clock time_begin = clock();
cout<<clock()<<endl;
在结束的时候cout<< (clock()-time_begin() )<<endl;
[解决办法]
getlocalsystemtime
[解决办法]
学习。
[解决办法]
考虑中断因素,觉得应该用:
BOOL GetProcessTimes(
HANDLE hProcess,
LPFILETIME lpCreationTime,
LPFILETIME lpExitTime,
LPFILETIME lpKernelTime,
LPFILETIME lpUserTime
);
[解决办法]
LARGE_INTEGERliStart, liEnd, liFreq;
QueryPerformanceFrequency(&liFreq);
QueryPerformanceCounter(&liStart);
//你的代码...
QueryPerformanceCounter(&liEnd);
printf("performance: %fms\n\n",
(double)(liEnd.QuadPart - liStart.QuadPart) / liFreq.QuadPart * 1000);
足够精确了
[解决办法]
GetTickCount();
[解决办法]
- C/C++ code
class CTimeTest{public: CTimeTest() { t1 = GetTickCount(); } ~CTimeTest() { } void Begin() { t1 = GetTickCount(); } double End(const char* szMsg = NULL) { t2 = GetTickCount(); double dbRet = (double)((t2 - t1) / 1000000.0 + (t2 - t1) / 1000); if( NULL != szMsg ) { TRACE("%s === %f sec\n", szMsg, dbRet); } return dbRet; }private: DWORD t1; DWORD t2;};