GCC编译流程
GCC的安装(root权限)
# yum install gcc-c++ libstdc++-devel
预处理:
[mjj@hadoop-senior test]$ gcc -E hello.c -o hello.i
-o用于指定生成的文件名
编译:
[mjj@hadoop-senior test]$ gcc -S hello.i -o hello.s
汇编:
[mjj@hadoop-senior test]$ gcc -c hello.s -o hello.o
hello.o中的内容为机器码
链接:
[mjj@hadoop-senior test]$ gcc hello.o -o hello
生成了可执行文件hello
[mjj@hadoop-senior test]$ ./hello
hello linux
单文档编译
[mjj@hadoop-senior test]$ ls
a.out hello.c
[mjj@hadoop-senior test]$ ./a.out
hello linux!
编译过程中,GCC编译器会先将源文件编译成目标文件再将目标文件链接到可执行文件,之后删除目标文件。
使用gcc生成的所有可执行文件的默认名称都是a.out的目标文件,如果想指定生成文件名,可使用-o
多文件编译
源文件比较复杂时,可以讲一个源文件分别写在多个头文件中,如此便可以独立编译每个文件。
编译多个文件的指令:
[mjj@hadoop-senior test]$ gcc _main.c _add.c -o _main
生成_main执行文件