概述
GCC(GNU Compiler Collection)编译器是GNU Linux操作系统的默认编译器
编译流程
预处理
预处理器CPP进行预处理,把头文件,宏等进行展开,生成.i文件
编译
GCC 支持多种编程语言,假设是c语言则ze调用C语言的编译器cll 。编译完成之后生成汇编程序,输出.s的文件
汇编
链接
GCC 调用链接器把所有的目标文件和C语言的标准库连接成可执行的二进制文件
编译选项
本地编译在当前的目标平台编译出来的程序,并且一般只运行在当前编译的平台。
交叉编译在一种平台上编译,然后放到另外一种平台上运行,这过程称为交叉编译
gcc编译选项
选项 | |
---|---|
-c | 编译、汇编指定的源文件,但是不进行链接 |
-S | 编译指定的源文件,但是不进行汇编 |
-E | 预处理指定的源文件,不进行编译 |
-o | 生成目标文件,[file1] [file2] 将文件 file2 编译成可执行文件 file1 |
-I | directory 指定 include 包含文件的搜索目录 |
-g | 生成调试信息,该程序可以被调试器调试 |
-Wall | 生成所有警告信息 |
<br />