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 librt 🙂

    man 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 bilden

    function function()
    {
    zeitmessen();

    }

    2. mal zeitmessen2();

    zeitdifferenz=zeitmessen2-zeitmessen;

    http://www.c-plusplus.net/forum/images/smiles/smile.gif
    🙂



  • 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 ...


Anmelden zum Antworten