C - конвертировать между структурой timeval и uint32_t, чтобы вычислить прошедшее время

Я прочитал много постов на stackru о порядке байтов для сети.
Например, если я сделаю что-то вроде этого:

struct timeval start_t
gettimeofday(&start_t, NULL);

Теперь, как я могу быть уверен, что этот тип броска будет работать?

uint32_t receivedTime = someGetterSomewhere();
struct timeval result = (struct timeval) receivedTime;
struct timeval diffTime;
timersub(&start_t,&result,&diffTime);


// do stuff like timersub, etc to get ms elapsed time 

int calculatedTime =  (int) floor( ((diffTime.tv_sec) * 1000 + (diffTime.tv_usec) / 1000) + 0.5);

Спасибо за ответы

PS:

Мой Gcc говорит, что это не разрешено

error: aggregate value used where an integer was expected
         pkt_set_timestamp(emptyPacket, (const uint32_t) start_t);

0 ответов

Другие вопросы по тегам