2010-12-06 7 views
5

Actualmente estoy usando la función clock() suministrada por la biblioteca time.h. Me da precisión de tiempo hasta milisegundos. Sin embargo, su sincronización se basa en los ciclos de reloj de la CPU. Necesito una función que, en lugar de usar ciclos de CPU como clock(), utilice el sistema en tiempo real con precisión de hasta milisegundos.¿Cuál es una buena manera de encontrar tiempo real en milisegundos con C++?

Estoy usando linux con el compilador gcc.

Respuesta

8
#include <sys/time.h> 

... 

timeval tv; 
gettimeofday (&tv, NULL); 
return double (tv.tv_sec) + 0.000001 * tv.tv_usec; 
3

Linux (y POSIX.1-2001) proporciona gettimeofday() para obtener el tiempo actual en microsegundos de precisión.

0

CLOCK_REALTIME

da nanosegundos. No vayas más lejos, podrías comenzar una distorsión espacial. :)

Cuestiones relacionadas