Clock() Funktion nutzen



  • Hallo zusammen,

    ich muss ein altes C-Projekt in einem C++/CLI Projekt nachbilden. Im alten Projekt wird oft die Funktion "clock()" genutzt.

    Returns the number of clock ticks elapsed since the program was launched.

    Gibt es in .Net eine vergleichbare Alternative dazu, die mir exakt das gleiche Ergebniss liefern kann wie die alte Funktion? Wenn nicht, wie kann ich diese Funktion in meinem Projekt nutzen?

    Vielen dank für eure hilfe...



  • Lege beim Start der Applikation ein DateTime Objekt an (DateTime::Now).
    Danach kannst Du das Ticks- Property abfragen.

    Warum ruftst Du clock() nicht einfachauf?
    Sollte gehen...

    Simon



  • Hi theta,

    ich habe folgendes versucht:

    int iStart = DateTime::Now.Ticks;
    
    ....
    Funktionsaufrufe();
    ....
    
    int iStop = DateTime::Now.Ticks;
    int resultat = iStop - iStart;
    

    Im alten Projekt liefert mir die Subtraktion einen wert meist unter 100, da die Funktionsaufrufe dazwischen keine lange Bearbeitungszeit benötigen. Wenn ich jetzt DateTime::Now.Ticks nutze, kommt eine Zahl meist in Millionenhöhe heraus. Dadurch ist die Vergleichsmöglichkeit für mich nicht gegeben.

    Wenn ich versuch, die Funktion "clock()" aufzureufen, dann streikt der Compiler, da er diese Funktion nicht kennt! Ich befinde mich ja in einem .Net Projekt, das diese Funktion nicht kennt.



  • Dann includier halt den korrekten Header und Linke die korrekte Lib dazu.

    Ausserdem könntest Du auch die Klasse Stopwatch benutzen: http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx


Anmelden zum Antworten