Размер хранилища timepec неизвестен

Я видел это решение, но я получаю те же ошибки. Для класса мы должны были переключиться на компилятор c99 вместо gnu, но теперь timespec, похоже, не работает. Наряду с "размером хранилища timespec не известен", я получаю кучу других ошибок, таких как "CLOCK_MONOTONIC undeclared", "разыменование указателя на неполный тип" struct timespec "" и предупреждения о неиспользованных переменных, но я предполагаю, что они будут идти прочь, как только я решу проблему с компилятором.

Я бы не подумал, что что-то не так с тем, как я объявляю переменные timepec,

struct timespec startTime;

2 ответа

Так как этот тип поддержки часов не C99, а POSIX, он не включен по умолчанию.

Чтобы включить его, вы хотите передать опцию -D_POSIX_C_SOURCE=199309L к компилятору или положить

#define _POSIX_C_SOURCE 199309L

в самом начале рассматриваемого исходного файла (ов).

Смотрите также man clock_gettime для справки.

Установите флаг диалекта C на диалект GNU ISO C99:

-std=gnu99

Другие вопросы по тегам