GCC(GNU Compiler Collection)是由 GNU 开发的编程语言编译器。 GCC最初代表“GNU C Compiler”,当时只支持C语言。 后来又扩展能够支持更多编程语言,包括 C++、Fortran 和 Java 等。 因此,GCC也被重新定义为“GNU Compiler Collection”,成为历史上最优秀的编译器, 其执行效率与一般的编译器相比平均效率要高 20%~30%。
1.预处理(Preprocessing)
gcc -E test.c -o test.i
2.编译(Compilation)
gcc -S test.i -o test.s
3.汇编(Assemble)
gcc -c test.s -o test.o
4.链接(Linking)
gcc -c test.s -o test.o
gcc -c -o 等参数的解释
-o 用法:在 -o 后面输入自定义的文件名
gcc HelloWord.c -o HelloWord
# 这个HelloWord.c是目标文件,不是可执行文件,执行文件是自动生成的a.out
# 想修改a.out的名字为HelloWord,HelloWord是可执行文件
-c
注意:第一步这里不生成一个可执行文件
gcc -c HelloWord.c
# _这个HelloWord.c是目标文件,不是可执行文件,因为这里用到了-c,
# 告诉gcc到汇编为止,不要进行链接。
# _链接就是将目标文件、启动代码、库文件链接成可执行文件的过程,
# 这个文件可被加载或拷贝到存储器执行。
# _会生成一个HelloWord.o的文件
gcc HelloWord.o
# 到第二步才会生成一个默认名为a.out的可执行文件。
如果想要修改默认的可执行文件名字,第二步这里替换为
gcc HelloWord.o -o HelloWord
# 生成一个名字为HelloWord的可执行文件