GCC基本编译流程
编译过程:预处理,编译,汇编,链接四个步骤。
预处理是将头文件和宏代码展开,将 .c 文件处理成 .i 文件,所选参数为 -E
编译是将对应语言编译成汇编源文件,将 .i 文件处理成 .s 文件,所选参数为 -S
汇编是将 .s 文件处理成 .o 二进制文件,也就是目标文件,所选参数为 -c
链接是将 .o 文件处理成 .exe 文件,也就是可执行文件
简易的编译流程
编译:包括上面的预处理,编译,汇编三个步骤
链接是将目标文件处理成可执行文件
命令格式:
编译
gcc -c 源文件 -o 目标文件
其中的 -o 部分可以省略,这样目标文件名字与源文件名字一致,后缀改为 .o
-o 目标文件 的位置可以随意放置,但是不可以分开,不可以在gcc之前
例如:
gcc -o 目标文件 -c 源文件 是正确的
gcc -c -o 目标文件 源文件 是正确的
gcc -o -c 源文件 目标文件 是错误的
链接
gcc 目标文件 -o 可执行文件
-o部分可以省略不写,这样形成的可执行文件名为a.out
执行
./可执行文件
完整的编译流程
预处理: gcc -E .c 文件