所以一直在研究这个主要是一次编译程序的每个文件的Modular编程。假设我们有 FILE.c 和 OTHER.c,它们都在同一个程序中。要编译它,我们在提示中执行此操作
$gcc FILE.c OTHER.c -c
使用 -c 标志将其编译成 .o 文件(FILE.o 和 OTHER.o),只有在发生这种情况时,我们才将其转换(编译)为可执行文件,使用
$gcc FILE.o OTHER.o -o
我知道我可以跳过中间部分,但正如它无处不在,他们先做,然后将其编译成可执行文件,我根本无法理解。
我可以知道为什么吗?
最佳答案
如果您正在处理一个包含多个模块的项目,如果只修改了其中的一些模块,您不希望重新编译所有模块。然而,最终的链接命令总是需要的。 make 等构建工具用于跟踪哪些模块需要编译或重新编译。
关于c - 在 linux 中模块化编程和编译 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830447/