gcc的编译流程:
源代码(*.c)——>预处理(Pre-Processing)——>编译(Compiling)——>汇编(Assembing)——>链接(Linking)——>可执行文件
一个例子:一个经典的helloworld的程序
1).先用vim编辑源程序,保存为hello.c .
vim hello.c
2)然后用gcc的“-E”参数预处理,生成经过预处理的源程序文件hello.i
gcc hello.c -o hello.i -E
3)接着用gcc的“-S”参数编译,生成汇编语言程序文件hello.s
gcc hello.i -o hello.s -S
4)然后用gcc的“-c”参数汇编,生成二进制文件hello.o
gcc hello.s -o hello.o -c
5)再用一次gcc,把hello.o和一些用到链接库文件,链接成可执行文件hello
gcc hello.o -o hello
除了编译流程上经常使用的参数,这里还列出其它的一些常用参数:
-g:可执行程序中包含调试信息(下面使用gdb调试程序时会用到)
-v:显示gcc的版本
-I dir:在头文件的搜索路径中添加dir目录
-L dir:在库文件的搜索路径中添加dir目录
-Wall:允许发出gcc提供的所有有用的告警信息