Recuperation de la frequence du processeur [Résolu]

Signaler
Messages postés
138
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2009
-
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
je dois recuperer des infos sur une machine .
j'utilise : MEMORYSTATUS pour avoir l'etat de la memoire
OSVERSIONINFOEX pour le systeme utilisé.

mais comment je peux faire pour connaitre la frequence du CPU

(windows, visual6)

merci
gege

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
un exemple dans les sources de brunews :
http://www.cppfrance.com/code.aspx?id=23837

et un exemple à moi :

#include <windows.h>
#include <stdio.h>


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
__int64 u64StartClk, u64EndClk, u64StartCounter, u64EndCounter;
DWORD dwHI, dwLO;


__asm rdtsc ;
__asm mov dwHI,edx ;
__asm mov dwLO,eax ;
u64StartClk = (((__int64)dwHI)<<32)|dwLO;
QueryPerformanceCounter((LARGE_INTEGER*)&u64StartCounter);


DWORD dwStart = GetTickCount();
while(GetTickCount()-dwStart < 100);


__asm rdtsc ;
__asm mov dwHI,edx ;
__asm mov dwLO,eax ;
u64EndClk = (((__int64)dwHI)<<32)|dwLO;
QueryPerformanceCounter((LARGE_INTEGER*)&u64EndCounter);


__int64 u64FreqCounter;
QueryPerformanceFrequency((LARGE_INTEGER*)&u64FreqCounter);


double diff1 = (double)(u64EndCounter-u64StartCounter);
double diff2 = (double)(u64EndClk-u64StartClk);


double freq = ((double)u64FreqCounter*diff2)/diff1;


char szText[64];
sprintf(szText, "Freq = %.3lf MHz", freq/1000000);
MessageBox(NULL, szText, "CPUFreq", MB_ICONINFORMATION);


return 0;
}
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
BruNews > j'ai perdu 1 min à chercher le lien sur ta source et tu m'a devancé...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
eh oui, suis passé devant pour une fois....

T'envisagerais pas d'habiter sur Paris par hasard ? J'ai un gros contrat et va me falloir quelqu'un.

ciao...
BruNews, MVP VC++
Messages postés
138
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2009

merci pour les reponses, je me demandais si on pouvait se passer de l'assembleur pour ca

gege
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0