哪位知道毫秒级的计时方法,我想统计一次运算所花的时间,但是时间不到一秒。 要求用最低的cpu消耗。我想预测运算共花多少时间,cpu使用很高,所以想在运算前就能统计本次运算预计用多少时间,我先统计一次运算的ms时间,再乘以运算次数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/gettickcount.asp 执行前DWORD dwStart = GetTickCount();结束时DWORD dwEnd = GetTickCount();dwEnd - dwStart 就是毫秒时间 Header Declared in Winbase.h; include Windows.h. Library Link to Kernel32.lib. QueryPerformanceFrequency QueryPerformanceCounter 看看这个,延迟毫秒void gf_Delay( int ms)//ms delay{ LARGE_INTEGER litmp; LONGLONG QPart1,QPart2; double dfMinus, dfFreq, dfTim; QueryPerformanceFrequency(&litmp); dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率 QueryPerformanceCounter(&litmp); QPart1 = litmp.QuadPart;// 获得初始值 do { QueryPerformanceCounter(&litmp); QPart2 = litmp.QuadPart;//获得中止值 dfMinus = (double)(QPart2-QPart1); dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒 }while(dfTim*1000 < ms);} 其实你这样得到的值并不是一个真实值,应该可以说是个错误值,应为cpu在不断的切换时间片,你每次得到的值都不一样,而且你的算法时间那么短,不过要求低的话也无关大雅。。 请教各位达人,如何获得父进程全路径 如何用程序设置EXCEL中CheckBox控件 有谁用过CRichEditCtrl::GetSelText()这个函数,为什么总是空? 关于VC6.0访问SQLSERVER2000的相关问题. 文本语音转换的问题 疯了,sendto/recvfrom在编译时的错误。。。。。。 一个edit控件中输入一组汉字,想把每个汉字都存入数字,怎样区分每个汉字? 请问在VC中怎样把一个Bitmap转换成Icon? 怎样将参数传给调用的进程?急... 紧急求助,如何得到CButton按下、弹起的消息? 读文件! 请教替换游戏中画图API的问题
DWORD dwStart = GetTickCount();
结束时
DWORD dwEnd = GetTickCount();
dwEnd - dwStart 就是毫秒时间
Library Link to Kernel32.lib.
QueryPerformanceCounter
void gf_Delay( int ms)//ms delay
{ LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(&litmp);
dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率
QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart;// 获得初始值
do
{
QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;//获得中止值
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
}while(dfTim*1000 < ms);}