简体   繁体   中英

How enable c99 mode in gcc with terminal

我想在 gcc 编译器中激活 c99 模式,我在这个论坛的其他帖子中读到-std应该等于-std=c99但我不知道如何使用命令行将它设置为这个值,所以请帮忙。

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 (eg, 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.

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 ).

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.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM