Компилятор случайно выбрасывает разные ошибки - PullRequest
0 голосов
/ 31 октября 2010

Я получаю разные ошибки каждый раз, когда я компилирую свой C-проект.Есть 3 набора из них, которые случайным образом появляются во время процесса построения, и все они

syntax error before 'foo'

или

syntax error before 'foo' token.

Они происходят в разных файлах и нет явных синтаксических ошибоктам.

Я использую Windows 7, Eclipse с плагином C / C ++ для создания проекта C и gcc 3.4.5 (mingwvista special r3).Используются следующие флаги:

-O0 -g3 -Wall -c -fmessage-length=0  

Я проверил и перепроверил все мои файлы на наличие ошибок синтаксиса препроцессора, но ничего не нашел.

Какие могут быть ошибки в моем исходном кодепорождает это странное поведение?Как я могу избежать такого рода головных болей в будущем?

Ответы [ 2 ]

1 голос
/ 31 октября 2010

Хотя в принципе невозможно диагностировать ошибки компиляции без исходного кода, я попробую.

Может быть вызвано необъяснимыми синтаксическими ошибками, например, пропущенные или лишние скобки или точки с запятой. По крайней мере, это почти всегда было тем, что я обнаружил, когда ничего не казалось неправильным в коде, на который жаловался компилятор. Поэтому не просто смотрите на одну и ту же строку кода, а также смотрите на предыдущие строки кода.

Другая возможная причина, по которой я могу придумать, заключается в том, что ваш исходный код использует нестандартные функции C или синтаксис. Или ваш исходный код использует функции C99, в то время как ваш компилятор использует синтаксис C89.

0 голосов
/ 31 октября 2010

Я обнаружил ошибку, это был взаимный оператор включенияошибки в совершенно не связанных строках (или даже файлах!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...