Что мне нужно сделать, чтобы gcc
включил объявление gmtime_r(3)
из time.h
?Глядя на /usr/include/time.h
, gmtime_r
и localtime_r
внутри #ifdef __USE_POSIX
.
Нужно ли что-то делать, чтобы включить __USE_POSIX
, например, параметр командной строки?Я бегу с -std=c99
сейчас.Я понимаю, что макросы __USE_*
не предназначены для установки непосредственно кодом пользователя.
/* Return the `struct tm' representation of *TIMER
in Universal Coordinated Time (aka Greenwich Mean Time). */
extern struct tm *gmtime (const time_t *__timer) __THROW;
/* Return the `struct tm' representation
of *TIMER in the local timezone. */
extern struct tm *localtime (const time_t *__timer) __THROW;
#ifdef __USE_POSIX
/* Return the `struct tm' representation of *TIMER in UTC,
using *TP to store the result. */
extern struct tm *gmtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) __THROW;
/* Return the `struct tm' representation of *TIMER in local time,
using *TP to store the result. */
extern struct tm *localtime_r (const time_t *__restrict __timer,
struct tm *__restrict __tp) __THROW;
#endif /* POSIX */