-2
当我创建的makefile,我写gcc'-c'和gcc'-o'的含义是什么?
test: main.o 1.o
gcc -o test main.o 1.o
main.o: main.c a.h
gcc -c main.c
1.o: 1.c a.h
gcc -c 1.c
,但我不知道为什么我在第一线和-c在第二,第三行中使用-o。 他们之间有什么区别?
当我创建的makefile,我写gcc'-c'和gcc'-o'的含义是什么?
test: main.o 1.o
gcc -o test main.o 1.o
main.o: main.c a.h
gcc -c main.c
1.o: 1.c a.h
gcc -c 1.c
,但我不知道为什么我在第一线和-c在第二,第三行中使用-o。 他们之间有什么区别?
这些选项是做完全不同的事情:
-c
告诉GCC编译源文件转换成.o
目标文件。如果没有该选项,它将默认编译并将代码链接到完整的可执行程序,该程序只有在您同时将所有.c
文件全部提供时才有效。要单独编译文件以便稍后可以链接,您需要-c
。-o
设置GCC生成的输出文件的名称。链接目标文件以创建完整程序时,您正在使用它,并且默认输出文件名为a.out
。如果您不希望程序被称为a.out
,则使用-o
来指定不同的名称。
您是否试过阅读gcc手册? –
您已经创建了该文件。谁知道你为什么这样做? –
为什么你要求**我们解释**你写了什么?你说**我写了**,这意味着它是你的手指在键盘上。你为什么写这个? –