user297904
user297904

Reputation: 447

How enable c99 mode in gcc with terminal

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

Answers (3)

jpw
jpw

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

hyde
hyde

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

Rahul Tripathi
Rahul Tripathi

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

Related Questions