¿Hay una manera estándar de convertir una estructura de tiempo en una estructura de tiempo específico?
Pregunta
struct timeval
representa e instantáneamente a tiempo con dos miembros, tv_sec
(segundos) y tv_usec
(microsegundos). En esta representación, tv_usec
no es, por sí solo, un tiempo absoluto, es un segundo desplazamiento secundario de tv_sec
.
struct timespec
funciona de la misma manera, excepto que en lugar de microsegundos, su desplazamiento ( tv_nsec
) se almacena en unidades de nanosegundos.
La pregunta es: ¿hay una forma estándar de convertir entre estos dos?
Solución
tv_usec
por 1000 es suficiente para obtener tv_nsec
.
Más importante, sospecho que es la fuente de las diferentes estructuras: podrían llenarse con diferentes relojes.
Otros consejos
En sys / time.h
hay dos macros que hacen lo que quieres:
TIMEVAL_TO_TIMESPEC(X, Y)
y
TIMESPEC_TO_TIMEVAL(X, Y)
Consulte la documentación aquí: http://www.daemon-systems.org/man/TIMEVAL_TO_TIMESPEC. 3.html