
Estou compilando um código que solicita conformidade com POSIX 1003.1 1993 via -D_POSIX_C_SOURCE=2
.
O código inclui o cabeçalho <sys/time.h>
e deseja chamar gettimeofday
, mas no NetBSD 5.1 há um compilador avisando que essa função não foi declarada.
Olhando para o cabeçalho do NetBSD, vemos que a declaração de gettimeofday
está envolvida com um teste para _POSIX_C_SOURCE
ser pelo menos 200112
.
gettimeofday
O POSIX realmente só foi apresentado em 2001? Isso dificilmente parece certo. Em 1993, já existiam clock_gettime
nanossegundos e diferentes tipos de relógio, e getttimeofday
é um material antigo do 4.2 BSD.
Na biblioteca GNU C <sys/time.h>
, gettimeofday
não é empacotado por nada.
O que é certo: cabeçalho do NetBSD ou meu código baseado _POSIX_C_SOURCE=2
para revelar a declaração de gettimeofday
(e glibc, para fornecê-la incondicionalmente)?
Responder1
http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.htmlde fato diz que foi adicionado em 2001.