Получить максимальное значение для time_t с помощью Visual Studio

Мне нужно получить следующий код, работающий независимо от платформы:

 timeval tv;
 tv.tv_sec = std::numeric_limits<time_t>::max();

Этот код отлично работает под всеми видами ОС Linux и Mac OS X.

К сожалению, в Windows это вернет -1 для tv.tv_sec.

Тогда я подумал о том, чтобы переопределить time_t следующим образом:

 typedef int time_t;

Это тоже не сработало, поскольку теперь компилятор жалуется на:

error C2371: 'time_t' : redefinition; different basic types

Как я могу заставить этот код работать независимо от платформы?

5
задан tune2fs 16 November 2011 в 18:53
поделиться