GNU隐式编译.c文件到.o文件?

  • 本文关键字:文件 编译 GNU c makefile cc
  • 更新时间 :
  • 英文 :


没有问题。我想编译bar.c与对象文件foo。O到可执行的。我在Makefile中有这个:

bar: foo.o 
cc bar.c foo.o -o bar

我运行$ make -n得到:

cc    -c -o foo.o foo.c 
cc bar.c foo.o -o bar

我正在看输出cc -c -o foo.o foo.c的第一行。我没有写一个显式的规则将foo.c编译为foo.omake是否在看到时隐式地执行此操作?o目标?

是的,GNU make有一个内置规则目录:

编译C程序
o由n.c自动生成,格式为' $(CC) $(CPPFLAGS) $(CFLAGS) -c ' .

链接单个对象文件
n是通过C编译器通过运行链接器(通常称为ld)从n.o自动生成的。使用的精确配方是' $(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS) '。

所以你可以直接写:

bar: bar.o foo.o

相关内容

  • 没有找到相关文章

最新更新