背景
在项目开发过程中,会经常用到gcc进行代码编译,但是对其了解只是停留在表面,故希望通过本文梳理,对其有更深入的了解。
简介
(1)全称是GNU Compiler Collection,本质上是由GNU开发的编译器。
(2)可以编译多种语言,典型的如C,C++,JAVA等。其已经被大多数操作系统(linux, windows)作为标准的编译器。
(3)支持多种架构芯片(Mips,ARM)等。
基本语法
gcc [options] [filenames]
执行过程
1> 预编译
.c.h文件变成.i文件。#include处理;宏定义替换;条件编译宏处理;删除注释;
gcc -E hello.c -o hello.i
2>编译
.i文件变成.s文件。主要完成词法,语法,语义分析以及优化后生成相应的汇编代码文件
gcc -S hello.i -o hello.s
3>汇编
.s文件变成.o文件。将汇编代码转变成机器可以执行的指令,每一个汇编语句对应一条机器指令
gcc -c hello.s -o hello.o
4>链接
.o.a文件生成out文件。
版本查看