gcc -o file1 file1.o file2.o file3.o
我对C没有太多经验,并且在我们系统上的Makefile
中发现了上述内容。
在这种情况下,什么是.o
文件,什么是file1.o?与file1
有关系吗?
答案 0 :(得分:0)
-o文件
将输出放置在文件file
中。无论生成何种输出,无论是可执行文件,目标文件,汇编文件还是预处理的C代码,这都适用。
由于只能指定一个输出文件,因此在编译多个输入文件时使用'-o'是没有意义的,除非您要生成一个可执行文件作为输出。
此处生成的可执行文件为file1
如果未指定'-o',则默认值是将可执行文件放置在a.out中,将source.suffix的目标文件放置在source.o中,将其汇编文件放置在source.s中,并将所有预处理的C源代码放置在标准输出上。
.o文件是C代码文件的编译目标文件。
此处已打出-> GCC Command-Line Options
答案 1 :(得分:0)
答案 2 :(得分:0)
以.o结尾的文件是目标文件。在将每个源文件链接到最终可执行文件之前,编译器会为每个源文件创建一个目标文件。