Je veux activer le mode c99 dans le compilateur gcc pour lire dans d'autres articles de ce forum que -std
doit être égal à -std=c99
mais je ne sais pas comment le définir à cette valeur en utilisant la ligne de commande, alors aidez-moi.
Compilez en utilisant:
gcc -std=c99 -o outputfile sourcefile.c
gcc --help
répertorie certaines options, pour une liste complète des options, reportez-vous au manuel . Les différentes options pour le dialecte C peuvent être trouvées ici .
Comme vous utilisez make
, vous pouvez définir les options de ligne de commande pour gcc en utilisant 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)
Addendum (ajouté fin 2016): C99 vieillit un peu maintenant, les personnes qui consultent cette réponse pourraient vouloir explorer C11 à la place.
Vous pouvez essayer d'utiliser le -std=c99
drapeau.
Essayez de vous conformer comme ceci:
gcc -Wall -std=c99 -g myProgram.c
Notez également que -g
est pour l'option de débogage (Merci à Alter Mann de l'avoir signalé).
Sur la base des commentaires sous une autre réponse, vous utilisez peut-être les règles de fabrication implicites et n'avez pas de Makefile. Si c'est le cas, vous exécutez simplement make tst
pour générer tst binaire à partir de tst.c. Dans ce cas, vous pouvez spécifier les indicateurs en définissant la variable d'environnement CFLAGS
. Vous pouvez le définir pour le shell actuel ou l'ajouter à votre ~/.bashrc
pour l'avoir toujours, avec ceci:
export CFLAGS='-Wall -Wextra -std=c99'
Ou en le spécifiant uniquement pour la commande unique:
CFLAGS='-Wall -Wextra -std=c99' make tst
(Remarque: j'ai également ajouté des indicateurs d'avertissement, vous devez vraiment les utiliser, ils détecteront de nombreux bogues potentiels ou tout simplement du mauvais code que vous devriez écrire différemment.)