Reputation: 447
I want to activate c99 mode in gcc compiler to i read in other post in this forum that -std
should be equal to -std=c99
but i don't know how to set it to this value using command line so please help.
Upvotes: 20
Views: 73488
Reputation: 44921
Compile using:
gcc -std=c99 -o outputfile sourcefile.c
gcc --help
lists some options, for a full list of options refer to the manuals. The different options for C dialect can be found the section "Options Controlling C Dialect" in any gcc
version's manual (e.g., here).
As you are using make
you can set the command line options for gcc using 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 (added late 2016): C99 is getting kind of old by now, people looking at this answer might want to explore C11 instead.
Upvotes: 40
Reputation: 62906
Based on the comments under another answer, perhaps you are using the implicit make rules and don't have a Makefile. If this, then you are just runing make tst
to generate tst binary from tst.c. In that case you can specify the flags by setting the environment variable CFLAGS
. You can set it for the current shell, or add it to your ~/.bashrc
to have it always, with this:
export CFLAGS='-Wall -Wextra -std=c99'
Or specifying it just for the single command:
CFLAGS='-Wall -Wextra -std=c99' make tst
(Note: I added warning flags too, you should really use them, they will detect a lot of potential bugs or just bad code you should write differently.)
Upvotes: 4
Reputation: 172628
You may try to use the -std=c99
flag.
Try to complile like this:
gcc -Wall -std=c99 -g myProgram.c
Also note that -g
is for debugging option(Thanks Alter Mann for pointing that).
Upvotes: 6