Recuperation de la frequence du processeur

Résolu
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 21 févr. 2005 à 17:18
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011 - 22 févr. 2005 à 19:12
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 févr. 2005 à 17:34
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
21 févr. 2005 à 17:35
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;
}
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
21 févr. 2005 à 18:06
BruNews > j'ai perdu 1 min à chercher le lien sur ta source et tu m'a devancé...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 févr. 2005 à 18:40
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++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
22 févr. 2005 à 07:53
merci pour les reponses, je me demandais si on pouvait se passer de l'assembleur pour ca

gege
0
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
22 févr. 2005 à 19:12
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
0
Rejoignez-nous