Я видел это решение, но Я получаю те же ошибки. Для класса нам пришлось переключиться на компилятор c99 вместо gnu, но теперь кажется, что временная спецификация нарушена. Наряду с «размер хранилища timespec неизвестен», я получаю кучу других ошибок, таких как «CLOCK_MONOTONIC undeclared», «разыменование указателя на неполный тип« struct timespec »» и предупреждения о неиспользуемой переменной, но я предполагаю, что они будут прочь, как только я решу проблему с компилятором.
Я бы не подумал, что что-то не так с тем, как я объявляю переменные timespec,
struct timespec startTime;
-std=
. Другой вопрос, почему вы изучаете версию C, которая была отменена 6 лет назад с текущим и единственным стандартным C11. Напишите свою проблему: прочитайте Как спросить и предоставьте минимально воспроизводимый пример. Судя по всему, вы получили доступ к внутренностямstruct
, который не должны использовать. Это означает, что ваш код сломан по дизайну. - person too honest for this site   schedule 04.03.2017-std=c99
. Извините, я хотел указать это в описании. Я не хочу использовать это, мы должны. Также не могли бы вы рассказать о попытке доступа к внутренностям структуры. - person grizzle   schedule 04.03.2017struct timespec
иCLOCK_MONOTONIC
не являются частью C99. Используйте что-то другое. - person n. 1.8e9-where's-my-share m.   schedule 05.03.2017gnu99
, а неgnu
. И это все еще будет c99, только с расширениями gcc. Остальная часть строки добавляет путаницы, так как нет отдельного компилятора c99 (-std=c99
просто деактивирует расширения и выдает предупреждения о некоторых из них. - person too honest for this site   schedule 05.03.2017struct timespec
является одним из них. - person n. 1.8e9-where's-my-share m.   schedule 05.03.2017