我需要制作一个目标文件,还是只需要最终的可执行文件?

时间:2018-05-21 11:09:26

标签: c makefile

包含用于生成目标文件的规则然后是可执行文件的第二个规则是否很重要,或者我是否应该只添加一个规则来在单个命令中创建可执行文件?

单独编译+链接的示例:

foo: foo.o

foo.o: foo.c

单一命令:

foo: foo.c

2 个答案:

答案 0 :(得分:0)

重建时速度会更快,因此对于大项目来说这很重要

答案 1 :(得分:0)

如果您有一个源文件,则没有理由比其他文件更喜欢。

在较大的项目中,您将链接来自许多翻译单元的目标文件,然后有必要将编译和链接阶段分开(这样可以同时编译许多文件,如果它们是很多,则根本不需要编译最新的。)

Make有足够的内置规则来支持这两种构建方式。