gcc编译选项及含义
选项 | 含义 |
---|---|
-o file | 指定生成的文件名 |
-E | 只进行预处理 |
-S | 只进行预处理和汇编 |
-c | 只进行预处理、编译(compile)和汇编 (assemble) |
gcc程序编译步骤
c代码编译为可执行程序经过四步
1)预处理:
宏定义展开、条件编译等,同时将代码中的注释删除,这里并不检查语法
2)编译
检查语法,将预处理后文件编译,生成汇编文件
3)汇编
汇编文件生成目标文件(二进制文件)
4)链接
C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去。
gcc编译流程图
各时期文件后缀含义
文件后缀 | 含义 |
---|---|
.c | C 语言文件 |
.i | 预处理后的 c 语言文件 |
.s | 编译后的汇编文件 |
.o | 编译后的目标文件 |