Как изменить Linux для компиляции в режиме C99? - PullRequest
1 голос
/ 06 марта 2011

Мне нужно изменить режим компиляции на C99, есть ли способ сделать это?

Я использую vim, так что это не так и IDE вообще.

Ответы [ 3 ]

6 голосов
/ 06 марта 2011

Я полагаю, вы используете GCC.Используйте флаг -std=c99.

3 голосов
/ 06 марта 2011

Предполагается, что любая совместимая с POSIX система имеет внешний интерфейс компилятора с именем c99.В Linux это обычно просто оболочка, которая устанавливает необходимые параметры на gcc.

Если вам нужно передать это значение на make, вы можете указать CC=c99 в командной строке.Или вы можете просто добавить строку в ваш bashrc (или эквивалент):

export CC=c99
2 голосов
/ 06 марта 2011

Я не уверен, как вы компилируете свой код на C из vim, но в любом случае вам нужно создать файл make и выполнить его для компиляции.Вы должны указать переключатель C99, однако обратите внимание, что он не полностью реализован в GCC.

Обратите внимание, что этот стандарт еще не полностью поддерживается;см. http://gcc.gnu.org/gcc-4.4/c99status.html для получения дополнительной информации

Если у вас его еще нет, я включил общий файл make, который я использую для домашних заданий C:

# ------------------------------------------------
# Generic Makefile
#
# Author: Yanick Rochon
# Date  : 2010-11-05
#
# Changelog :
#   0.01 - first version
# ------------------------------------------------

# project name (generate executable with this name)
TARGET   = <executable name here>

CC       = gcc -c
# compiling flags here
CFLAGS   = -std=c99 -Wall -I.

LINKER   = gcc -o
# linking flags here
LFLAGS   = -std=c99 -Wall

SOURCES  := $(wildcard *.c)
INCLUDES := $(wildcard *.h)
OBJECTS  := $(SOURCES:.c=*.o)
rm       = rm -f

$(TARGET): obj
    @$(LINKER) $(TARGET) $(LFLAGS) $(OBJECTS)
    @echo "Linking complete!"

obj: $(SOURCES) $(INCLUDES)
    @$(CC) $(CFLAGS) $(SOURCES)
    @echo "Compilation complete!"

clean:
    @$(rm) $(TARGET) $(OBJECTS)
    @echo "Cleanup complete!"

** EDIT **

Я обычно редактирую свои C-источники с помощью GEdit и открываю терминал (или использую плагин терминала GEdit) для компиляции (используя make).Вы также можете использовать полноценную интегрированную среду разработки для редактирования своих источников, таких как SharpDevelop или Anjuta, но я считаю, что GEdit и терминал являются моими предпочтительными инструментами разработки для C. Одна из причин заключается в том, что я действительно должен делать все сам (в основном), такЯ знаю, что происходит :) То же самое можно сделать с помощью Vim вместо GEdit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...