Problem mit QueryPerformanceCounter
-
Könntest du mir sagen, was daran falsch ist?

Also die Schleife ist doch wohl nciht das Problem, die hab ich schon zwanzigmal benutzt ohne Probleme
und auch mit dem normalen Delphi-Counter in einem externen Programm gemessen (daher auch die selbstdefinierten Nachrichten)...
-
Ok, Asche auf mein Haupt

Ich habe mich um genau eine Ziffer verzählt.
Ich dachte, ich sehe da eine Abfrage nach einer Zahl, die int mit 32 Bit nie erreichen kann...Wenn du es in ms willst, müsstest du es dann wohl so machen:
ticks /= (f.QuadPart / 1000.0);
-
Ahh vielen Dank

Kein Problem das mit dem Verzählen, als du das gesagt hattest hab ich auch nochmal genau nachgezählt ob ich mich nicht hier beim Tippen verhauen hab
Kann ja mal passieren, nächstes Mal wähle ich was einfacheres 
Danke nochmal
Johannes
-
Johannes Maier schrieb:
Kann ja mal passieren, nächstes Mal wähle ich was einfacheres

Und wähle bitte auch das richtige Forum
. Im Moment haben die 3 oberen Threads in diesem Forum nicht das geringste mit C++ an sich zu tun (QueryPerformanceCounter, conio.h, msxml). Das nervt irgendwie...
-
Jo tut mir leid. Aber ich kanns erklären:
Zuerst hieß die Überschrift bei mir: "Problem mit cout: ambigous" da ich dachte, mein Problem würde bei cout liegen, dass es so große Zahlen wie LONGLONG nicht richtig ausgeben könne. Allerdings hab ich es ja dann durch printf() ersetzt und dadurch ging das. Danach kam dann die Frage mit dem Counter auf und dieses Eingabefenster mit Quellcode war noch offen
Also hab ich da weitergeschrieben und nicht daran gedacht, ich könne im falschen Unterforum sein, sorry 
-
Johannes Maier schrieb:
Ein weiteres Problem: "cout" kann LONGLONGs nicht ausgeben oder?
Ja. Da C++ kein long long kennt, muss eine standardkonforme Implementierung von cout das auch nicht berücksichtigen. Trotzdem gibt es Implementierungen die das können. Mit printf unter C gehts dann wie folgt
long long i1 = -100000000000; printf("%lli", i1); unsigned long long i2 = 100000000000; printf("%llu", i2);Das muss aber auch nicht zwangsläufig funktionieren. ZB hatten ältere MS Libs damit Probleme, beim aktuellen Release funktioniert es endlich.
-
Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich brauche einen Timer, zum Messen wie lange eine Methode dauert.
Ist dafür QueryPerformanceCounter ausreichend?
Oder brauch ich eine Lib? Wenn ja, welche?
Was gibt's für bekannte Libs für Timer?Danke und Gruss
-
was ist denn dein Problem mit der Ausgabe? Versteh garnicht, worum's hier eigentlich grad geht ... Du lässt den Code laufen und gibst danach die Zeit aus: ca 2 Sekunden. Scheint mir ein realisitischer Wert zu sein. Bei mir dauert es zwar 5 Sekunden, aber zumindest bei mir dauert es tatsächlich so lang.
-
dEUs schrieb:
was ist denn dein Problem mit der Ausgabe? Versteh garnicht, worum's hier eigentlich grad geht ... Du lässt den Code laufen und gibst danach die Zeit aus: ca 2 Sekunden. Scheint mir ein realisitischer Wert zu sein. Bei mir dauert es zwar 5 Sekunden, aber zumindest bei mir dauert es tatsächlich so lang.
Hat sich in der Zwischenzeit gelöst
Das mit der Ausgabe war nur ein vorheriges Problem, wie du siehst verwende ich ja printf um den Wert endgültig auszugeben.
Ich hatte halt nur das Problem, dass durch falsche Einstellung nur 2 angezeigt wurde, obwohl es in Wirklichkeit 2935 ms waren
Nur hatte ich bei einer 1000, mit der ich später multipliziert hatte 2000 als Ergebnis bekommen. Dan SeppSchrots Verbesserung geht es aber nun 