C und Zeitschleifen

Hallo,

ich würde gerne wissen wie ich am besten eine Zeitschleife in C Programmiere.
Hab den Bogen noch nicht ganz raus.

Hallo,

ich würde gerne wissen wie ich am besten
eine Zeitschleife in C Programmiere.
Hab den Bogen noch nicht ganz raus.

Hallo,
geneerell würde ich davon Abstand nehmen, die Zeit über Schleifen zu messen. Das hat den Grund, daß sie auf verschiedenen Rechnern unterschliedlich schnell laufen -> keine echte Zeitmessung.
Jedes Betriebssystem bietet spezielle Zeitkonstrukte; selbst das alte DOS. Da ich nicht weiß, für welches OS Du programmierst, kann ich nicht genauer werden…

Gruß
José

Das soll unter DOS tun, und so genau braucht es nicht zu sein, es soll einfach nur eine kleine Verzögerung darstellen.

ich würde gerne wissen wie ich am besten
eine Zeitschleife in C Programmiere.
Hab den Bogen noch nicht ganz raus.

Hallo,
geneerell würde ich davon Abstand nehmen,
die Zeit über Schleifen zu messen. Das
hat den Grund, daß sie auf verschiedenen
Rechnern unterschliedlich schnell laufen
-> keine echte Zeitmessung.
Jedes Betriebssystem bietet spezielle
Zeitkonstrukte; selbst das alte DOS. Da
ich nicht weiß, für welches OS Du
programmierst, kann ich nicht genauer
werden…

Gruß
José

Das soll unter DOS tun, und so genau
braucht es nicht zu sein, es soll einfach
nur eine kleine Verzögerung darstellen.

Na dann probier mal folgendes:

#define SEC 100000
schleife()
{
long a;
for(a = 0; a

Das soll unter DOS tun, und so genau
braucht es nicht zu sein, es soll einfach
nur eine kleine Verzögerung darstellen.

Nach POSIX gibt’s was im Sekundentakt:

#include
unsigned int secsleft = 2;
while (secsleft = sleep (secsleft),
secsleft > 0) ;

Oder als BSD-Funktion usleep(), das löst
bis auf Mikrosekunden auf:

#include
unsigned long usecs = 2000;
usleep (usecs);

ciao,
johnny