c - 在 linux 中模块化编程和编译 C 程序

标签 c linux gcc modular

所以一直在研究这个主要是一次编译程序的每个文件的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/

相关文章:

linux - 将 nl 命令中的行增量设置为 float

c - C中的自修改代码 : Use a function pointer?

c - 在 C 中使用 SSE/SSE2 内在函数处理字节像素

c - 分隔字符串中的十六进制转义序列

在汇编循环中调用_printf,只输出一次

c++ - undefined reference (但 nm 说该函数存在)

有人可以解释这两个初始化程序之间的区别吗?

c - 如何在 Linux 上通过 C CLI 检查主目录快捷方式 ~

linux - 如何在 AWS 的 Linux AMI 限制下将 SoX 二进制文件打包为 NodeJS AWS Lambda 函数的 MP3 支持?

python - 如何在 python setup.py 中修改文件?