
Estoy compilando un código que solicita la conformidad con POSIX 1003.1 1993 a través de -D_POSIX_C_SOURCE=2
.
El código incluye el encabezado <sys/time.h>
y quiere llamar gettimeofday
, pero en NetBSD 5.1 hay una advertencia del compilador acerca de que esa función no se declara.
Al mirar el encabezado de NetBSD, vemos que la declaración de gettimeofday
está envuelta con una prueba para _POSIX_C_SOURCE
ser al menos 200112
.
¿ gettimeofday
Realmente se introdujo POSIX recién en 2001? Eso no parece correcto. En 1993, ya existían clock_gettime
nanosegundos y diferentes tipos de relojes, y getttimeofday
era algo antiguo 4.2 BSD.
En la biblioteca GNU C <sys/time.h>
, gettimeofday
no está incluido en nada en absoluto.
¿Qué es correcto: el encabezado de NetBSD o mi código en el que se basa _POSIX_C_SOURCE=2
para revelar la declaración de gettimeofday
(y glibc, para proporcionarla incondicionalmente)?
Respuesta1
http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.htmlde hecho dice que fue agregado en 2001.