如何取得CPU的速度 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
如何取得CPU的速度作者:隨心工作室 資料來源:http://www.aslike.net/ 在Win9X系統中利用如下函數可取得CPU速度,精確度很高://--------------------------------------------------------------------------- int __fastcall Frequence_MHz() { LARGE_INTEGER ulFreq, ulTicks, ulValue, ulResult; __int64 ulEAX_EDX, ulStartCounter; // it is number of ticks per seconds QueryPerformanceFrequency(&ulFreq); // current valueofthe performance counter QueryPerformanceCounter(&ulTicks); // calculate one second interval ulValue.QuadPart = ulTicks.QuadPart ulFreq.QuadPart; // read time stamp counter // this asm instruction load the highorder 32 bit of the register into EDX // and the lower order 32 bits into EAX _asm { rdtsc mov DWORD PTR ulEAX_EDX, EAX mov DWORD PTR (ulEAX_EDX 4), EDX } // start no of ticks ulStartCounter = ulEAX_EDX; // loop for 1 second do { QueryPerformanceCounter(&ulTicks); } while (ulTicks.QuadPart <= ulValue.QuadPart); // get the actual no of ticks _asm { rdtsc mov DWORD PTR ulEAX_EDX, EAX mov DWORD PTR (ulEAX_EDX 4), EDX } // calculate result ulResult.QuadPart = ulEAX_EDX - ulStartCounter; return (int)ulResult.QuadPart / 1000000; } //---------------------------------------------------------------------------在Win2000/XP系統中,直接可以從注冊表中取出,其鍵值為: [HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0] "~MHz"= 網路志工聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]--- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |