Ответ 1
//
комментарии не разрешены в старых (до 99) версиях C, используйте /**/
(или удалите -ansi
, что является синонимом стандарта C89)
Я использую gcc
(Ubuntu 4.4.1-4ubuntu9), чтобы скомпилировать программу, которую я пишу, но она кажется рвотой всякий раз, когда он видит//комментарий в моем коде, говоря:
interface.c :##: error: expected expression before â/â token<
Использует ли режим gcc
компиляции я запрещаю //
комментарии?
$ gcc -g -ansi -pedantic interface.c structs.h -c -I. -I/home/me/project/h
Почему?
//
комментарии не разрешены в старых (до 99) версиях C, используйте /**/
(или удалите -ansi
, что является синонимом стандарта C89)
См. комментарии С++ в документации компилятора GNU.
В GNU C вы можете использовать комментарии стиля С++, которые начинаются с
//
и продолжаются до конца строки. Многие другие реализации C допускают такие комментарии, а они включены в стандарт С# 1999. Однако комментарии стиля С++ не распознаются, если вы указываете опцию-std
, определяющую версию ISO C доC99
или-ansi
(эквивалентную-std=c89
).
(Акцент мой, потому что некоторые должности утверждают, что //
не разрешены в стандартном C, тогда как это справедливо только для пре-99 стандартов).
//
комментарии на самом деле являются признаками С++ в происхождении, поэтому -ansi
отключает их.