Перенос API времени из Linux в Visual Studio 2008 - PullRequest
4 голосов
/ 28 ноября 2011

У меня есть приложение, которое я портирую на Microsoft Visual Studio 2008, которое прекрасно работает и работает в Linux.

У меня проблемы с процедурами времени, мой код Linux выглядит так:

#include <sys/types.h>
#include <sys/time.h>

typedef long long Usec;

inline Usec timevalToUsec(const timeval &tv)
{
  return (((Usec) tv.tv_sec) * 1000000) + ((Usec) tv.tv_usec);
}

Но компилятор не работает в заголовочном файле sys/time.h:

fatal error C1083: Cannot open include file:
      'sys/time.h': No such file or directory

Если я изменяю включение на time.h, я получаю другую ошибку с не определенным временным интервалом:

error C4430: missing type specifier - int assumed.
      Note: C++ does not support default-int

Это связано с тем, что timeval не определен.

Правильно ли включить time.h вместо sys/time.h, и если да, то где я могу получить определение struct timeval в Microsoft Visual Studio 2008?

Ответы [ 2 ]

5 голосов
/ 28 ноября 2011

Заполнение заголовка winsock2.h извлечет struct timeval, так как оно используется в вызовах типа select.

3 голосов
/ 28 ноября 2011

Он существует, но не в "sys / time.h". Timeval, интересно, Winsock2.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...