概述
gcc对c语言的编译过程分为4部分:
1、预处理
2、编译
3、汇编
4、链接
gcc 也可以对c++语言进行编译,在不使用c++的标准库时可以像c语言那样直接编译,如果使用了c++的标准库函数,则需要在编译指令中加上 -l stdc++ 来链接c++标准库。在编译时,也可以不生成中间文件,直接使用:
gcc xxx.c -o xxx
命令直接生成可执行文件。
预处理
预编译就是对程序中的伪指令和特殊符号进行处理的过程。包括宏展开、头文件展开、去掉注释、条件编译、添加行号和文件标识。
命令 gcc -E 源文件.c -o 目标文件.i
编译
编译过程既是把预处理阶段的文件进行系列的词法分析、语法分析、语义分析、和优化生成相应的汇编代码
命令 gcc -S xxx.i -o xxx.s
汇编
将汇编语言转化成二进制的机器语言
命令 gcc -c xxx.s -o xxx.o
链接
链接阶段主要是解决多个文件之间的符号引用问题,链接库文件生成可执行文件
命令 gcc xxx.o -o xxx.exe
常用参数
- -I(i的大写):指定头文件所在的文件夹。源