????Windows??timeGetTime
???????????????Mmsystem.h??Windows.h?????????Winmm.lib.
timeBeginPeriod(1);
DWORD start = timeGetTime();
Sleep(100);
DWORD end = timeGetTime();
timeEndPeriod(1);
????????timeGetTime?????????y?嶨????У??????????????ж?????????????ж??????????????????????????
???????????????GetTickCount()?????????GetTickCount????timeGetTime???????timeBeginPeriod??timeEndPeriod??????????С????????? timeBeginPeriod??timeEndPeriod??????????
????windows?μ?timeSetEvent
?????????????VC?μ?Timer??Timer?????????????????????????????????????????????????????????????????????????????????????????????????????????????????windows?????????????timeSetEvent??????????
????MMRESULT timeSetEvent?? UINT uDelay?? //?????????????????
????UINT uResolution?? //?????????????????????С?????????????????????1ms
????LPTIMECALLBACK lpTimeProc?? //?????????????
????WORD dwUser?? //????????????????
????UINT fuEvent ??// ?????????TIME_ONESHOT???????Σ?TIME_PERIODIC???????????
?????????????????????????timeSetEvent()???????????????????е????????? lpFunction?????????(?磺??????????????)???????????賬???????????????????????????????????????????????????????????????????timeKillEvent()???????
???????????????????????????timeGetTime
?????????????timeSetEvent???????timeBeginPeriod??timeEndPeriod??????????С????????? timeBeginPeriod??timeEndPeriod??????????
???????????????QueryPerformanceFrequency??QueryPerformanceCounter
????????LARGE_INTEGER m_nFreq;
????LARGE_INTEGER m_nBeginTime;
????LARGE_INTEGER nEndTime;
????QueryPerformanceFrequency(&m_nFreq); // ??????????
????QueryPerformanceCounter(&m_nBeginTime); // ?????????
????Sleep(100);
????QueryPerformanceCounter(&nEndTime);
????cout << (nEndTime.QuadPart-m_nBeginTime.QuadPart)*1000/m_nFreq.QuadPart << endl;
????????CPU???????????????????????clock???λ?????????rdtsc????????????ж??????侫?????????????
??????????????????????????????????????????ж???????亯????????Χ??
????С?????????????9????亯???????????????????????????????????????????????????????????????sleep???????????????????????clock??????GetTickCount????????????????timeGetTime?????????????????????Timer???????????timeSetEvent?????????????????time??????CTime??????COleDateTime?????????????????clock??????GetTickCount??????????timeGetTime???????????????????????????????QueryPerformanceFrequency??????QueryPerformanceCounter??????