Я использую gcc
(4.4.1-4ubuntu9 Ubuntu) для компиляции программы, которую я пишу, но это, кажется, рвет каждый раз, когда она видит//комментарий в моем коде, говоря:
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)
См. комментарии C ++ в документации компилятора GNU .
В GNU C вы можете использовать комментарии в стиле C ++, которые начинаются с
//
и продолжаются до конца строки. Многие другие реализации C допускают такие комментарии, и они включены в стандарт C 1999 года . Однако комментарии в стиле C ++ не распознаются, если вы укажете опцию-std
, указав версию ISO C доC99
или-ansi
(эквивалент] -std = c89
).
(Особое внимание я уделяю, потому что в некоторых сообщениях утверждается, что //
не разрешены в стандарте C, тогда как это верно только для стандартов до 99).