Я хочу активировать режим c99 в gcc-компиляторе, чтобы читать в другом сообщении этого форума, что -std
должен быть равен -std=c99
, но я не знаю, как установить его для этого значения с помощью командной строки, поэтому, пожалуйста, помощь.
Как включить режим c99 в gcc с терминалом
Ответ 1
Скомпилировать, используя:
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.
Ответ 2
Вы можете попробовать использовать флаг -std=c99
.
Попробуйте выполнить следующее:
gcc -Wall -std=c99 -g myProgram.c
Также обратите внимание, что -g
предназначен для опции отладки (спасибо Alter Mann за указание этого).
Ответ 3
Основываясь на комментариях под другим ответом, возможно, вы используете неявные правила make и не имеете Makefile. Если это так, вы просто запускаете make tst
для генерации tst-бинарного файла из tst.c. В этом случае вы можете указать флаги, установив переменную среды CFLAGS
. Вы можете установить его для текущей оболочки или добавить ее в свой ~/.bashrc
, чтобы она всегда была, при этом:
export CFLAGS='-Wall -Wextra -std=c99'
Или указывая его только для одной команды:
CFLAGS='-Wall -Wextra -std=c99' make tst
(Примечание: я также добавил предупреждающие флажки, вы действительно должны их использовать, они обнаружат много потенциальных ошибок или просто плохой код, который вы должны написать по-другому.)