QueryPerformanceCounter in C mit Array



  • Hi @ all,

    da ich hier bisher nur gute Erfahrungen gemacht hab (danke bis dahin!) hoffe ich auch diesmal wieder guten Rat zu finden.

    Unsere (Studiums-)Aufgabe ist, ein Programm mit dem QueryPerformanceCounter auszurüsten, die Werte in ein Array zu schreiben (jede gemessene Millisekunde) um damit die RoundRobin-Zeitscheiben des Schedulers analysieren zu können.

    Leider habe ich keine Ahnung von diesem Timer, da wir bisher immer nur mit der clock()-Funktion des time.h - headers gearbeitet haben.

    Bisher habe ich folgendes Programm:

    #include "math.h"
    #include "stdio.h"
    #include "windows.h"
    #include "time.h"
    
    int main ()
    {
    
    	int i = 1;
    	float x = 5.48795;
    	float s;
    	int j = 0;
    	double starttime = 0, endtime = 0, runtime = 0;
    
    starttime = clock();
    	while(i == 1)
    	{
    
    		s = sin(x);
    		j++;
    		if(kbhit() != 0)
    		{
    			i = getch();
    		}
    
    	}
    	endtime = clock();
    	runtime = (starttime - endtime) / CLOCKS_PER_SEC;
    
    	printf("%d\n counted iterations",j);
    	printf("\n%f\n Laufzeit",runtime);
    
    	_getch();
    	return 0;
    
    }
    

    wie man unschwer sehen kann, berechnet das Programm Sinuswerte in einer Dauerschleife (so laut Aufgabe gewünscht).
    Nun muss nur noch iwie dieser Timer und das Array rein 😕
    hat jemand von euch vll ne Ahnung wie das am geschicktesten einzubauen ist? 👍

    Wär euch super dankbar! 🙂
    Liebe Grüße und vielen Dank schon mal vorab! 👍



  • int myArr[60];
    size_t index = 0;
    while (... && index != 60)
    {
      /* Do poop. */
      myArr[index++] = value;
    }
    

    Fertig. Code ist selbsterklärend.



  • Hallo Janjan,

    danke für deine Antwort 🙂
    Das Array wäre also soweit drin, leider fehlt mir immer noch der Timer?!

    Der muss ja mit den Werten ins Array geschrieben werden.
    Und genau den versteh ich ja leider nicht...

    Aber danke bis dahin 🙂 👍

    Liebe Grüße



  • Geh auf msdn.microsoft.com, gib den Funktionsnamen + " function" ein und schau dir die Dokumentation dazu an. Dort sollten auch Beispiele zu finden sein. Sonst heißt es auch erst einmal Googlen. 😉


Anmelden zum Antworten