1.GetTickCount()
GetTickCount是windows下的API 函数,检索自系统启动以来经过的毫秒数,最多为49.7天
//头文件
#include <windows.h>
//函数原型
DWORD WINAPI GetTickCount(void);
//返回值
系统启动后经过的毫秒数
测试代码:
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
void fun()
{
for(int i=1;i<100000000;i++)
{
}
}
int main()
{
DWORD begin=0;
DWORD end=0;
DWORD time=0;
begin=GetTickCount();
fun();
end=GetTickCount();
time=end-begin;
cout<<time<<endl;
return 0;
}
2.clock()
clock()函数是c++库里的函数,它返回程序启动后经过的时钟节拍数,CLOCKS_PER_SEC 这个宏扩展为一个表达式,表示一秒钟内时钟节拍数,由函数时钟返回。用这个表达式除以时钟节拍数就得到秒数。
//头文件
#include <ctime>
//函数原型
clock_t clock(void);
//返回值
自程序启动以来,时钟滴答数一直在增加
在失败时,返回-1
clock_t是定义的一种类型,可以表示时钟滴答数并支持算数运算(通常是长整数)
测试代码如下:
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
void fun()
{
for(int i=1;i<100000000;i++)
{
}
}
int main()
{
int begin=0;
int end=0;
int time=0;
begin=clock();
fun();
end=clock();
time=(end-begin)/CLOCKS_PER_SEC;
cout<<time<<endl;
return 0;
}
#include <windows.h>
class Time
{
public:
Time()
{
QueryPerformanceFrequency(&_nFreq);
QueryPerformanceCounter(&_nBeginTime);
}
~Time()
{
LARGE_INTEGER _nEndTime;
QueryPerformanceCounter(&_nEndTime);
cout<<(_nEndTime.QuadPart -_nBeginTime.QuadPart )/_nFreq.QuadPart <<endl;
}
private:
LARGE_INTEGER _nFreq;
LARGE_INTEGER _nBeginTime;
};
#ifdef _DEBUG
#define GET_TIME Time t
#else
#define GET_TIME
#endif
void Test()
{
GET_TIME;
Sleep(2000);
}
int main()
{
Test();
return 0;
}