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