我想在 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.