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;
}
-
C语言中friend友元函数详细解析
友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。我们已知道类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他...
-
2017年计算机二级C语言考点习题
计算机二级考试知识点的掌握对考生来说是比较重要的,下面是本站小编为各位考生整理的2017年计算机二级C语言考点习题,希望你的的考试有所帮助!1.在深度为5的满二叉树叶中,叶子结点的个数为()。A.32B.31C.16D.152.软件生命周期中,花费最多的阶段是()。A.详细设计B....
-
C语言的移位操作符使用方法
位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。以下是小编为大家搜索整理的C语言的移位操作符使用方法,希望能给大家带来帮...
-
c语言单引号的用法指导
C语言中用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。下面小编给大家整理了c语言单引号的用法,供大家参阅...