Соответствие POSIX: NetBSD 5.1декларация gettimeofday

Соответствие POSIX: NetBSD 5.1декларация gettimeofday

Я компилирую код, который запрашивает соответствие POSIX 1003.1 1993 через -D_POSIX_C_SOURCE=2.

Код включает заголовок <sys/time.h>и пытается вызвать gettimeofday, но в NetBSD 5.1 компилятор выдает предупреждение о том, что эта функция не объявлена.

Взглянув на заголовок NetBSD, мы видим, что объявление gettimeofdayзаключено в проверку на то, _POSIX_C_SOURCEчто оно не меньше 200112.

Действительно ли он gettimeofdayбыл представлен в POSIX только в 2001 году? Это вряд ли кажется правильным. В 1993 году уже был clock_gettimeс наносекундами и разными типами часов, и getttimeofdayэто древний 4.2 BSD.

В библиотеке GNU C <sys/time.h>, gettimeofdayвообще ничем не обернут.

Что правильно: заголовок NetBSD или мой код, полагающийся на _POSIX_C_SOURCE=2раскрытие объявления gettimeofday(и glibc, предоставляющий его безоговорочно)?

решение1

http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.htmlдействительно говорится, что он был добавлен в 2001 году.

Связанный контент