Как включить режим c99 в gcc с терминалом

Я хочу активировать режим c99 в компиляторе gcc, чтобы я прочитал в другом посте на этом форуме, что -std должно быть равно -std=c99 но я не знаю, как установить это значение с помощью командной строки, поэтому, пожалуйста, помогите.

3 ответов


компиляция с использованием:

gcc -std=c99 -o outputfile sourcefile.c

gcc --help перечисляет некоторые параметры, полный список параметров см. в руководство. Различные варианты диалекта C можно найти здесь.

как вы используете make вы можете установить параметры командной строки для gcc с помощью CFLAGS:

# sample makefile
CC = gcc
CFLAGS = -Wall -std=c99
OUTFILE = outputfile
OBJS = source.o
SRCS = source.c

$(OUTFILE): $(OBJS)
        $(CC) $(CFLAGS) -o $(OUTFILE) $(OBJS)
$(OBJS): $(SRCS)
        $(CC) $(CFLAGS) -c $(SRCS)

добавление (добавлено в конце 2016 года): C99 становится старым, люди, глядя на этот ответ, могут захотеть изучить C11 вместо.


вы можете попробовать использовать -std=c99 флаг.

попробуйте complile так:

gcc -Wall -std=c99 -g myProgram.c

также обратите внимание, что -g для отладки(спасибо Alter Mann за указание этого).


основываясь на комментариях под другим ответом, возможно, вы используете неявные правила make и не имеете Makefile. Если это, то вы просто подножка make tst для создания tst бинарные от tst.c. В этом случае вы можете указать флаги, установив переменную окружения CFLAGS. Вы можете установить его для текущей оболочки или добавить его в свой ~/.bashrc иметь его всегда, с этим:

export CFLAGS='-Wall -Wextra -std=c99'

или указание его только для одного команда:

CFLAGS='-Wall -Wextra -std=c99' make tst

(Примечание: я добавил предупреждающие флаги тоже, вы должны действительно использовать их, они обнаружат много потенциальных ошибок или просто плохой код, который вы должны написать по-другому.)