Zeit messen
-
Ne, die Zeile 17 ist schwer in Ordnug...
Das war irgendwie vom Compiler ein Fehler, er sagte nämlich in gewisser Weise:In Datei C:\Programme\....\ping.cpp**:7** | 17 [Warning] extra tokens at end of #include directive
Hab jetzt aber was gefunden:
time.h: timeGetTime()Gibt die Zeit seit dem Start von Windows zurück. (in ms)
Und nochwas rausgefunden: clock_gettime gibts unter windows nicht, die <ctime> ist unter Linux und Windoof einfach anders...
Danke euch allen...
HdZ
-
HdZ schrieb:
Und nochwas rausgefunden: clock_gettime gibts unter windows nicht, die <ctime> ist unter Linux und Windoof einfach anders...
Naja, clock_gettime ist aus der SuS IIRC und Windows ist größtenteils weder POSIX- noch SuS-kompatibel.
-
Die clock_gettime sollte in standard c library sein, ist sie aber nicht !
Dafür aber in librtman muss beim linken die -lrt dazulinken.
mfg.einheitlix schrieb:
Jaah... sowas habe ich mir vorgestellt
Aber... *seufz*... meint ihr, es würde einmal was auf Anhieb klappen? Jetzt will er gar nicht mehr kompilieren
#include <ctime> #include <iostream> using namespace std; int main() { struct timespec tp; // time at begin and end double begin, end; clock_gettime(CLOCK_REALTIME, &tp); begin = 1e9*tp.tv_sec + tp.tv_nsec; for( long i = 0; i < 12345678; i++); clock_gettime(CLOCK_REALTIME, &tp); end = 1e9*tp.tv_sec + tp.tv_nsec; cout << "Time: " << (end-begin) << " nanoseconds (" << (end-begin)*1e-9 << " seconds)" << endl; }
Ausgabe beim kompilieren:
[21:45:21][~/dev/c++/damen] malte@fuchur $ g++ test.cpp /tmp/ccwqSts8.o(.text+0x1f): In function `main': : undefined reference to `clock_gettime' /tmp/ccwqSts8.o(.text+0x5e): In function `main': : undefined reference to `clock_gettime' collect2: ld returned 1 exit status
Was ist jetzt falsch? Egal, ob ich nun <ctime> oder <time.h> include, derselbe Fehler kommt. Und das, obwohl in der /usr/include/time.h dick und fett steht:
/* Get current value of clock CLOCK_ID and store it in TP. */ extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __THROW;
Zu Hülf!
(sorry, wenn ich mich blöd anstelle... fang halt gerade erstmal an)
-
ich hab ein problem
ich will die zeit zu beginn und am ende einer funktion messen
und dann die differenz bildenfunction function()
{
zeitmessen();}
2. mal zeitmessen2();
zeitdifferenz=zeitmessen2-zeitmessen;
-
Wo ist nun dein Problem und warum erweckst du dafür einen 1 1/2 Jahre alten Thread zum leben?
-
-
mein problem ist dass ich eine funktion brauch die mir die zeit misst
-
anarchist schrieb:
mein problem ist dass ich eine funktion brauch die mir die zeit misst
Dann lies dir den Thread doch mal durch, den du erweckt hast ...