怎样得到CPU具体的运算频率是多少MHZ?
有没有这个函数实现?或者通过怎样的操作实现?谢谢,急!

解决方案 »

  1.   

    汇编获得CPU的主频和生产厂,在2000下也没问题。
    CString CKillJSDlg::GetCPUFactoryName()
    {
    int nCPUName[ 20 ] = { 0 };
    _asm
    {
    mov eax, 0
    cpuid
    mov nCPUName[ 0 ], ebx
    mov nCPUName[ 4 ], edx
    mov nCPUName[ 8 ], ecx
    }
    return ( TCHAR* )nCPUName;
    }CString CKillJSDlg::GetCPUFrequence()
    {
    int nTime [ 2 ];
    int nCPUClock;
    _asm
    {
    rdtsc
    mov nTime[ 0 ], edx
    mov nTime[ 1 ], eax
    }
    Sleep( 1000 );
    _asm
    {
    rdtsc
    sub eax, nTime[ 1 ]
    sub edx, nTime[ 0 ]
    mov nCPUClock, eax
    }
    CString str;
    str.Format( "%dMHz", nCPUClock / 1000000 );
    return str;
    }