gettimeofday() - nicht definiert



  • Hi!
    Ich habe ein wenig nach genauer Zeitmessung unter C++ gegooglet und bin dabei auf diese

    http://www.willemer.de/informatik/cpp/timelib.htm

    an sich sehr hilfreiche Seite gestoßen. Was ich an der dort beschriebenen Funktion gettimeofday() sehr gut finde, ist dass sie OS-unabhängig ist. Deshalb würde ich stattdessen auch ungern eine WinAPI oder VCL-Funktion verwenden.

    Nun habe ich folgendes Problemchen: Auf der erwähnten Seite steht, man müsse <sys/time.h> includen, um gettimeofday() benutzen zu können (das stimmt wohl auch - ich bekomme die entspr. undefined-Fehlermeldung). Diese Header-Datei besitze ich offenbar nicht 😞 - ich dachte sie gehört zur C++-Standard-Bibliothek?

    Ich benutze Turbo-C++ 2006. Heißt der Header bei diesem Compiler irgendwie anders oder ist er wirklich nicht dabei?

    Vielen Dank schonmal im Voraus!

    Mr Train



  • Was ich an der dort beschriebenen Funktion gettimeofday() sehr gut finde, ist dass sie OS-unabhängig ist.

    Stimmt nicht. Unter Windows gibts die nicht.



  • Äh, mit dieser Antwort hätte ich jetzt gar nicht gerechnet:

    Sie (die Zeitfunktionen) sind aber mit der Sprache C auf die anderen Systeme mit hinübergeschwappt. Von dort gerieten die Funktionen in den ANSI-Standard für C und sind damit systemübergreifend nutzbar, was vor allem beim Wechsel des Betriebssystems oder des Compilers und bei der Entwicklung portabler Software von großem Nutzen ist.

    Wie ist denn dann diese Aussage zu erklären?

    Okay, und wenn es die Funktion wirklich nicht gibt, was wäre dann die Alternative?

    Danke für jede weitere Antwort

    Mr Train



  • Mr Train schrieb:

    Diese Header-Datei besitze ich offenbar nicht 😞 - ich dachte sie gehört zur C++-Standard-Bibliothek?

    Nein. Header der C++-Standardbibliothek, die du inkludierst, haben weder eine Dateiendung, noch sind sie in einem weiteren Verzeichnis (natürlich kann die Implementierung solche bereitstellen, aber das hat dich im Allgemeinen nicht zu interessieren).

    Die Tageszeit sollte eigentlich auch mit dem tatsächlich plattformunabhängigen und zur C++-Standardbibliothek gehörenden Header <ctime> erkannt werden können. Erkundige dich auf www.cplusplus.com, dort sind auch entsprechende Beispiele vorhanden.


Anmelden zum Antworten