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

标签 c makefile

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

单独编译+链接的示例:

foo: foo.o

foo.o: foo.c

单个命令:

foo: foo.c

最佳答案

如果您只有一个源文件,则没有理由优先选择其中一个。

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

Make 有足够的内置规则来支持两种构建风格。

关于c - 我需要制作一个目标文件,还是只是最终的可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50447570/

相关文章:

makefile - 在构建具有共同依赖项的目标时,GNU make 是否会受到竞争条件的影响?

c++ - Windows CE 内部构件,TEB(线程环境 block )

c - 检查C中的字符串是否相等并打印答案

makefile - cmake 用于具有通用代码的更大项目

c - 如何为接受命令行参数的程序创建 Makefile

c++ - 同一 Makefile 中 make 目标之间的递归依赖关系

utf-8 - 生成文件可以包含 UTF8 字符吗?

c - 读取字符串到链表

c - 如何在c中读取.docx文件

c++ - 错误 : void value not ignored as it ought to be - C/GTK+