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

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

Ответ 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

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