Du hast das Betriebssystem vergessen.
1. WindowsNT/2000/XP? ( sollte auch unter 9x gehen)
Function NtQuerySystemInformation befindet sich im Header ntexapi.h.
Wie die Funktion benutzt wird, würde den Rahmen sprengen. Am besten, du schnuffelst mal durchs Netz.
2. Linux
Datei /proc/cpuinfo öffen (kann mit cat angezeigt werden) und auslesen.
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
int
main()
{
int cpuInfo;
struct stat fileStatistik;
char* cpuInfoBuffer;
cpuInfo = open("/proc/cpuinfo", O_RDONLY);
if(cpuInfo == -1)
return 1;
if(fstat(cpuInfo, &fileStatistik) == -1){
close(cpuInfo);
return 1;
}
cpuInfobuffer = (char*) calloc(fileStatistik.st_size+1, 1);
if(!cpuInfoBuffer){
close(cpuInfo);
return 1;
}
if(read(cpuInfo, cpuInfoBuffer, fileStatistik.st_size) != fileStatistik.st_size){
close(cpuInfo);
return 1;
}
/*jetzt steht die Datei im Speicher und kann mit strtok, strstr, ... zerlegt werden.*/
close(cpuInfo);
free(cpuInfobuffer);
}
geholfen ?
Wenn du aber direkt an die CPU ran willst, hilft nur Assembler und ein gutes Buch und jede Menge Nerven.
Manitu