VC中几个关于时间计算的函数
2010-05-09 14:59
453 查看
#include <iostream.h>
#include <windows.h>
#include <stdio.h>
#include <time.h>
void sleep( clock_t wait )
{
clock_t goal;
goal = wait + clock();
while( goal > clock() )
;
}
int main()
{
// 利用QueryPerformanceFrequency 和QueryPerformanceCounter 精确计算时间
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
QueryPerformanceFrequency(&litmp); // 获得CPU的频率
double dfMinus,dfFreq,dfTim;
// 获得计数器的时钟频率
dfFreq = (double)litmp.QuadPart;
cout<< "频率为:"<< dfFreq/1000000 <<"MHZ"<<endl;
QueryPerformanceCounter(&litmp);
// 获得初始值
QPart1 = litmp.QuadPart;
cout<<double(QPart1)<<endl;
/// 放入被测程序
Sleep(100);
// 结束被测程序
QueryPerformanceCounter(&litmp);
// 获得终止值
QPart2 = litmp.QuadPart;
cout<<double(QPart2)<<endl;
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;
// 获得对应的时间值
cout<< "cost time is :"<< dfTim*1000000 << " us "<<endl;
//CString s;
Format("my name is %6s","wind");
printf("%6.f",dfTim);
cout<<endl;
/******************* use clock *************************************************/
cout<< "*************use clock get the time************"<<endl;
clock_t start, finish;
long i = 600000L;
start = clock();
while( i-- );
finish = clock();
cout<< "Time is:" << (double)(finish - start)/CLOCKS_PER_SEC <<endl; //只能精确到ms级
/************************* use gettickgount()**********************************/
DWORD start_time = GetTickCount();
sleep( (clock_t)3 * CLOCKS_PER_SEC );
DWORD end_time = GetTickCount();
cout<< end_time-start_time <<endl; // 精确到ms
return 0;
}
#include <windows.h>
#include <stdio.h>
#include <time.h>
void sleep( clock_t wait )
{
clock_t goal;
goal = wait + clock();
while( goal > clock() )
;
}
int main()
{
// 利用QueryPerformanceFrequency 和QueryPerformanceCounter 精确计算时间
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
QueryPerformanceFrequency(&litmp); // 获得CPU的频率
double dfMinus,dfFreq,dfTim;
// 获得计数器的时钟频率
dfFreq = (double)litmp.QuadPart;
cout<< "频率为:"<< dfFreq/1000000 <<"MHZ"<<endl;
QueryPerformanceCounter(&litmp);
// 获得初始值
QPart1 = litmp.QuadPart;
cout<<double(QPart1)<<endl;
/// 放入被测程序
Sleep(100);
// 结束被测程序
QueryPerformanceCounter(&litmp);
// 获得终止值
QPart2 = litmp.QuadPart;
cout<<double(QPart2)<<endl;
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;
// 获得对应的时间值
cout<< "cost time is :"<< dfTim*1000000 << " us "<<endl;
//CString s;
Format("my name is %6s","wind");
printf("%6.f",dfTim);
cout<<endl;
/******************* use clock *************************************************/
cout<< "*************use clock get the time************"<<endl;
clock_t start, finish;
long i = 600000L;
start = clock();
while( i-- );
finish = clock();
cout<< "Time is:" << (double)(finish - start)/CLOCKS_PER_SEC <<endl; //只能精确到ms级
/************************* use gettickgount()**********************************/
DWORD start_time = GetTickCount();
sleep( (clock_t)3 * CLOCKS_PER_SEC );
DWORD end_time = GetTickCount();
cout<< end_time-start_time <<endl; // 精确到ms
return 0;
}
相关文章推荐
- 关于VC中的时间函数讨论
- 关于时间的几个函数
- 关于VC中的时间函数讨论
- MFC 的几个常用函数,用来计算文件大小,下载速度,转换时间的
- 进行日期时间转换和计算的几个Shell小函数
- 关于VC中的时间函数讨论
- 关于标准c++ 利用clock()函数计算时间为负值原因及解决
- 关于VC中的时间函数讨论
- Java当中计算关于程序运行时间的函数
- 介绍几个C++程序中关于"时间"的函数
- 关于VC中时间函数的讨论
- php计算时间几分钟前、几小时前、几天前的几个函数
- MySQL几个计算时间的函数汇总
- 关于VC中的时间函数讨论
- 几个 关于时间 的函数
- 关于VC中的时间函数讨论
- 关于计算时间和文件大小的函数
- 关于几个时间函数
- 关于日期天数计算的几个函数!
- 介绍几个C++程序中关于"时间"的函数