Probleme mit clock() funktion;

sono

sono

Sack Flöhe Hüter
PHP:
#include<iostream>
#include<time.h>
.
.
.
clock_t t_time_bev; 	// Zeit davor
clock_t t_time_after; 	// Zeit danach
.
.
t_time_bev = clock();
funktion_die_sehrlange_dauert();
t_time_after = clock();
t_clocks_dauer = (t_time_after-t_time_bev);

d_zeitdauer=(double)(t_time_after-t_time_bev)/CLOCKS_PER_SEC;

So ungefähr sieht der code aus , und clock liefert einfach keinen wert zurück obwol ich sogar die c++ referenten durchgelesen habe.

das ergebnis von clock() ist immer null .
wie kann das sein ?? bzw was mach ich falsch ?
 
clock() ermittelt die geschätze CPU-Zeit, die das Programm bisher verbraucht hat (maximal 72 Minuten wg. Integerüberlaufs). Um die verbrauchte Realzeit zu messen, solltest du time( time_t *t ) benutzen, um die Prozesszeit zu ermitteln solltest du times( struct tms *t ) benutzen.
Wenn dein Programm mit dem folgenden Codeschnipsel für die funktion_die_sehr_lange_dauert läuft, sollte clock() was anderes als 0 liefern:

#include <stdlib.h>
#include <math.h>

void funkion_die_sehr_lange_dauert(void)
{
long int randomNumber;
double result;
int i;

for (i=0; i<1337; i++)
{
randomNumber = random();
result = pow(sin((double)randomNumber),2) * pow(cos((double)randomNumber),2);
cout << i << ": " << result << endl;​
}​
}
 
thx.

Habs aber rausgefunden was war , bzw wissen tu ichs eigentlich immer noch nicht genau aber ich habe es zum laufen bekommen.

Übrigens braucht man für clock() wenn mich nicht alles täuscht den Header time.h

zumindest sagt die c++ referenz das .
 
<time.h> ist C, für C++ verwende <ctime>

Code:
#include <ctime>
#include <iostream>

int main()
{
        std::cout << "foo" << std::endl;
        std::cout << clock() << std::endl;
}
liefert als ausgabe:
Code:
foo
1

auf bald
oenone

PS: hast du nen t_ komplex?
 

Ähnliche Themen

Zeilenanzahl der Konsole im C-Programm nutzen

[C++] Socket Probleme mit Adresse...

Speicherproblem?

Clock Skew's und andere Missgeschicke

SDL applikation frisst speicher ohne ende

Zurück
Oben