c - 与将 .c 文件转换为 .o 文件并链接和汇编相比,编译 gcc .c 文件有什么区别?

标签 c linux gcc vim compilation

我刚刚开始接触 GCC。

假设我们有一个由 vim labaled helloworld.c 编写的文本文件

为什么 SWIM(不是我的人)用

编译它

gcc helloworld.cgcc -c helloworld.cgcc -o helloWorld helloworld.o 相比?

最佳答案

对于单个文件,没有用。 但是,如果您编译一个较大的项目,您可能不想重新编译所有文件,例如,如果您只更改了一个文件。因此,获得编译时间。

使用中间 .o 文件可以让您只重新编译需要重新编译的内容,并将最终的二进制文件与所有这些目标文件链接起来。

另一个用例是,如果您想使用自定义链接脚本,例如选择您的部分或代码的位置。然后您需要从 .o 文件中获取实际代码。

关于c - 与将 .c 文件转换为 .o 文件并链接和汇编相比,编译 gcc .c 文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644317/

相关文章:

c - C 中的单浮点十进制到二进制

将 int 数组转换为 char 数组

c - C99 标准中的哪里说有符号整数溢出是未定义的行为?

linux: 为什么我不能搜索/sys/class 但我可以搜索/sys

c - ls 如何对文件名进行排序?

c - 如何在 ubuntu 中计算 C 程序的运行时间

c - 宏中的 __VA_ARGS__ 是什么意思?

CSV 到 C 中的数组

linux - 向变量添加特殊值

编译C和sqlite3