GCC 链接生成可执行文件-o

汇编之后的目标文件,是一个纯二进制文件,还不能执行,如要执行还需要进行链接。
链接主要就是为了解决多个文件之间符号引用的问题。
编译时编译器只对单个文件进行了处理,如果该文件中引用了其它文件中的符号(如全局变量或函数),那么此时谁的中该符号的地址是无法确定的,只能等链接器把所有目标文件链接到一起才能确定最终的地址,最终生成可执行的二进制文件。
gcc使用链接器ld来进行链接的工作。

如我们要对上一节输出的test.o文件进行链接,使用命令

gcc test.o -o test

则生成可执行的文件test

[root@test 1]# gcc test.o -o test
[root@test 1]# ./test
0
1
2
3
4
5
6
7
8
9