糯米文學吧

位置:首頁 > 計算機 > C語言

c++利用windows函數實現計時範例

C語言9.71K

計時怎樣利用代碼實現呢?以下是為大家分享的c++利用windows函數實現計時範例,供大家參考借鑑,歡迎瀏覽!

c++利用windows函數實現計時範例

 複製代碼 代碼如下:

//Windows系統下可以用 time(),clock(),timeGetTime(),GetTickCount(),QueryPerformanceCounter()來對一段程序代碼進行計時

#include

#include

#include//time_t time() clock_t clock()

#include//timeGetTime()

#pragma comment(lib, "") //timeGetTime()

//使用方法:將Sleep()函數換成需要測試運行時間的函數即可。

int main()

{ //用time()來計時,以秒為單位

time_t timeBegin, timeEnd;

timeBegin = time(NULL);

Sleep(1000);

timeEnd = time(NULL);

printf("%dn", timeEnd - timeBegin);

//用clock()來計時,以毫秒為單位

clock_t clockBegin, clockEnd;

clockBegin = clock();

Sleep(800);

clockEnd = clock();

printf("%dn", clockEnd - clockBegin);

//用timeGetTime()來計時,以毫秒為單位

DWORD dwBegin, dwEnd;

dwBegin = timeGetTime();

Sleep(800);

dwEnd = timeGetTime();

printf("%dn", dwEnd - dwBegin);

//用GetTickCount()來計時,以毫秒為單位

DWORD dwGTCBegin, dwGTCEnd;

dwGTCBegin = GetTickCount();

Sleep(800);

dwGTCEnd = GetTickCount();

printf("%dn", dwGTCEnd - dwGTCBegin);

//用QueryPerformanceCounter()來計時,以微秒為單位

LARGE_INTEGER large_interger;

double dff;

__int64 c1, c2;

QueryPerformanceFrequency(&large_interger);

dff = large_Part;

QueryPerformanceCounter(&large_interger);

c1 = large_Part;

Sleep(800);

QueryPerformanceCounter(&large_interger);

c2 = large_Part;

printf("本機高精度計時器頻率%lfn", dff);

printf("第一次計時器值%I64dn第二次計時器值%I64dn計時器差%I64dn", c1, c2, c2 - c1);

printf("計時%lf毫秒nn", (c2 - c1) * 1000 / dff);

return 0;

}