网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > C语言

c++利用windows函数实现计时范例

栏目: C语言 / 发布于: / 人气:1.08W

计时怎样利用代码实现呢?以下是为大家分享的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;

}