Существует ли стандартный способ преобразования структуры timeval в структуру timespec?
struct timeval
представляет и мгновенный во времени с двумя членами,tv_sec
(секунды) и tv_usec
(микросекунд). В этом представлении tv_usec
не само по себе абсолютное время это второе смещение от tv_sec
.
struct timespec
работает точно так же, за исключением того, что вместо микросекунд это смещение (tv_nsec
) хранится в наносекундных единицах.
вопрос в том, есть ли стандартный способ преобразования между этими двумя?
2 ответов
смотрим этот документ, Я бы подумал, умножение tv_usec
на 1000 достаточно, чтобы получить tv_nsec
.
более важным, я подозреваю, является источник различных структур: они могут быть заполнены разными часами.
на sys/time.h
есть два макроса, которые делают то, что вы хотите:
TIMEVAL_TO_TIMESPEC(X, Y)
и
TIMESPEC_TO_TIMEVAL(X, Y)
см. документы здесь:http://www.daemon-systems.org/man/TIMEVAL_TO_TIMESPEC.3.html