读书人

在C++里怎么求出一个程序运行的时间

发布时间: 2012-03-17 19:06:27 作者: rapoo

在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;}; 

读书人网 >C++

热点推荐