Недавно я установил 12.04 LTS и хотел бы скомпилировать короткие c-программы.
Когда я ввожу gcc или cc в командной строке для компиляции простой тестовой программы «test.c», я получаю следующее:
test.c: In function ‘main’:
test.c:6:1: error: stray ‘\342’ in program
test.c:6:1: error: stray ‘\200’ in program
test.c:6:1: error: stray ‘\234’ in program
test.c:6:1: error: stray ‘\342’ in program
test.c:6:1: error: stray ‘\200’ in program
test.c:6:1: error: stray ‘\235’ in program
test.c:6:11: error: ‘Test’ undeclared (first use in this function)
test.c:6:11: note: each undeclared identifier is reported only once for each function it appears in
Нужно ли устанавливать другое программное обеспечение (кроме gcc?
С уважением,
Брюс
Вы должны взглянуть на строку 6 своего кода и повторно ввести его. Это решило бы проблему.
Вот выдержка из http://www.giannistsakiris.com :
Ошибки были такого вида:
giannis@giannis-vbox:~$ gcc program.c program.c: In function ‘main’: program.c:57: error: stray ‘\342’ in program program.c:57: error: stray ‘\200’ in program program.c:57: error: stray ‘\234’ in program program.c:57: error: stray ‘\’ in programI не смог увидеть никакой очевидной синтаксической ошибки в упомянутой строке. Вот как выглядит строка № 57:
printf(“\nThe linked list representation is...\n”);
На первый взгляд, это выглядит довольно хорошо, но если вы присмотритесь, вы увидите, что двойные кавычки, которые окружают строковый литерал, не являются нейтральными ( вертикальные) (например: "). Они являются левой и правой двойными кавычками соответственно.
Если я заменю кавычки на нейтральные, как это:
printf("\nThe linked list representation is...\n");
проблема решена. Поэтому, если вы получаете такую ошибку, возможно, вам следует внимательно посмотреть на любые двойные (или одиночные) кавычки в ошибочной строке.
blockquote>
Это похоже на проблему с вашим кодом. Не GCC, насколько я могу судить, он работает правильно.
Что-то вроде неправильных персонажей? Убедитесь, что вы используете «а не» и т. Д.