【发布时间】:2015-07-06 03:26:03
【问题描述】:
我阅读了很多关于CFLAGS 的教程,还查看了官方文档。他们到处说CFLAGS 是隐式的,但仍然在他们的示例makefile 中将其显式传递给编译器:
CFLAGS=-O2
gcc $(CFLAGS) -c foo.c -o foo.o
那么,在这种情况下,“隐式”一词是什么意思?如果我在我的makefile 中声明CFLAGS=-O2,然后只说gcc -c foo.c -o foo.o,那么-O2 是否会处于活动状态(所以,它真的是隐含的吗)?如果是这样,为什么所有教程(包括官方文档)仍然在他们的示例中明确传递它?
【问题讨论】:
-
我相信 CFLAGS 变量是一个 GNU make 的东西 - 默认情况下,在你的 makefile 中声明的 CFLAGS 将被传递给 C 编译器。
标签: gcc makefile implicit cflags