GCC中的'-c'选项有什么作用?[已关闭]

5ssjco0h  于 2022-11-12  发布在  其他
关注(0)|答案(3)|浏览(238)

很难说您在问什么。此问题模棱两可、含糊、不完整、过于宽泛或过于修辞,无法以目前的形式合理地回答。若要协助澄清此问题以便重新开启,请visit the help center
9年前就关门了。
gcc中的-c标志有什么作用?
比如说,你和你的朋友

gcc -c output0.c

gcc output0.c


我知道第二个是.a文件,但我不知道什么是.a文件。
另外,-o在中的作用是什么

gcc output0.o -o output0

是否只是为了正确命名输出文件?

qni6mghb

qni6mghb1#

-c

编译或汇编源文件,但不链接。链接阶段根本就没有完成。最终的输出是每个源文件的目标文件的形式。
默认情况下,源文件的目标文件名是通过用. o替换后缀.c、.i、.s等来创建的。不需要编译或汇编的无法识别的输入文件将被忽略。

-o文件

将输出放在file file中。这适用于任何类型的输出,无论是可执行文件、目标文件、汇编程序文件还是预处理的C代码。如果没有指定-o,默认情况下将可执行文件放在.out中,将source.suffix的目标文件放在source.o中,将其汇编程序文件放在source.s中,将预编译头文件放在source.suffix.gch中,和标准输出上所有预处理C源代码。
更多信息请参见GCC Manual Page

jckbn6z7

jckbn6z72#

man gcc(第 * 节“控制输出类型的选项”*):
...
-c编译或汇编源文件,但不链接。链接阶段根本就没有完成。最终的输出是每个源文件的目标文件的形式。
默认情况下,源文件的目标文件名是通过将后缀.c、.i、.s等替换为. o来创建的。
忽略不需要编译或汇编的无法识别的输入文件。
...

gpnt7bae

gpnt7bae3#

-c将指示GCC只将源文件编译为.o(对象)文件,但不调用链接器。
对于包含许多.c文件的项目,通常首先将所有.c文件编译为.o文件,然后将所有内容与库链接在一起。

-c

编译或汇编源文件,但不链接。链接阶段根本就没有完成。最终的输出是每个源文件的目标文件的形式。
默认情况下,源文件的目标文件名是通过将后缀〉.c、.i、.s等替换为. o来创建的。
忽略不需要编译或汇编的无法识别的输入文件。
Source

相关问题