如何在带终端的gcc中启用c99模式

时间:2014-08-29 10:37:31

标签: c gcc c99

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

3 个答案:

答案 0 :(得分:31)

使用编译:

gcc -std=c99 -o outputfile sourcefile.c

gcc --help列出了一些选项,有关选项的完整列表,请参阅manual。可以找到C语言的不同选项here

在使用make时,您可以使用CFLAGS为gcc设置命令行选项:

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

附录(2016年末添加):C99现在变得有点老了,看这个答案的人可能想要探索 C11

答案 1 :(得分:6)

您可以尝试使用-std=c99标记。

尝试像这样拼凑:

gcc -Wall -std=c99 -g myProgram.c

另请注意,-g用于调试选项(感谢Alter Mann指向)。

答案 2 :(得分:2)

根据另一个答案下的评论,也许你正在使用隐式的make规则而没有Makefile。如果是这样,那么您只需运行make tst tst.c 生成 tst 二进制文件。在这种情况下,您可以通过设置环境变量CFLAGS来指定标志。您可以为当前shell设置它,或者将其添加到~/.bashrc以使其始终具有此功能:

export CFLAGS='-Wall -Wextra -std=c99'

或仅为单个命令指定它:

CFLAGS='-Wall -Wextra -std=c99' make tst

(注意:我也添加了警告标志,你应该真的使用它们,它们会发现很多潜在的错误,或者只是你应该写不同的错误代码。)