谁有现成的OS的clock算法,给我发一份
要不就给我讲一下具体的算法实现

解决方案 »

  1.   

    用windows多媒体函数ueryPerformanceFrequency可以定位到5ms左右的精度
    以下代码供你参考
    BOOL  bStart=FALSE;LARGE_INTEGER litmp; 
    LONGLONG QPart1,QPart2;
    double dfMinus, dfFreq, dfTim; 
        //开始计算延时
        if (y[1]>=SampleHeight/3 && y[1]<=2*SampleHeight/3 && bStart==FALSE )
        {
         //获取延时
         QueryPerformanceFrequency(&litmp);
         dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率
         QueryPerformanceCounter(&litmp);
         QPart1 = litmp.QuadPart;// 获得初始值
         bStart=TRUE;
        }
        if (y[1]>=2*SampleHeight/3 && y[1]<=2*SampleHeight/3 && bStart==TRUE )
        {
         QueryPerformanceCounter(&litmp);
         QPart2 = litmp.QuadPart;//获得中止值
         dfMinus = (double)(QPart2-QPart1);
         dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
         bStart=0;
         CString szDelay;
         
         szDelay.Format(" %f   ",/*x[0],*/dfTim);
         pOwner->SetDlgItemText( IDC_TIME, szDelay );
         
           }