![嵌入式Linux开发技术](https://wfqqreader-1252317822.image.myqcloud.com/cover/138/43738138/b_43738138.jpg)
2.3.2 Linux编译器的安装与使用
2.3.2.1 gcc编译器
gcc是以GPL许可证所发行的自由软件,已被大多数类UNIX操作系统作为标准的编译器。gcc支持多种计算机体系结构,如x86、ARM、MIPS等,并已被移植到多种硬件平台。在使用gcc编译程序时,编译过程可以分为4个阶段:预处理、编译、汇编和链接。
2.3.2.2 gcc的安装
(1)更新包列表。代码如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_48_1.jpg?sign=1739445489-KIxMCylvqsOjdjTmDSWzezUgsq60kdkd-0-9481c821408302d8334b38949b8c844c)
安装build-essential软件包的代码如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_48_2.jpg?sign=1739445489-L4khPSqmq3vx57BoPawxu54vyGbF91ON-0-dd3e3616336b923a77603d583f2e3f81)
(2)交叉编译版本的安装。首先下载arm-linux-gcc-4.4.3.tar.gz安装包,下载地址为https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain。其次解压缩下载的安装包,将其解压缩至“/usr/local/”目录下。然后配置环境变量,将交叉编译器的路径添加到环境变量PATH中,添加环境变量后,在profile中最后一行添加“export PATH=$PATH:/usr/local/arm-linux-gcc-4.4.3/bin”,该路径就是“bin”目录所在的路径。接着通过命令“source/etc/profile”使环境变量生效。最后使用命令“echo$PATH”检查是否将路径添加到了变量PATH中,如果显示的内容包括“/usr/local/arm-linux-gcc-4.4.3/bin”,则说明已经将交叉编译器的地址添加到了变量PATH中。
2.3.2.3 gcc的工作流程
gcc的工作流程如图2.17所示。
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_48_3.jpg?sign=1739445489-QktfOMaZcPu8gYnA0hlsEMRayzPeJuVo-0-27fa5d2b9b9d9639116a87ba79f8ef32)
图2.17 gcc的工作流程
gcc的常用参数如表2.12所示。
表2.12 gcc的常用参数
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_49_1.jpg?sign=1739445489-T4J1WKuf4FUiQJCAT1oRI4MUc85VA7o2-0-b55f2350e5eca28c00328a42fdf68768)
2.3.2.4 gcc编译选项解析
gcc的编译选项如表2.13所示。
表2.13 gcc的编译选项
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_49_2.jpg?sign=1739445489-bulPUM1F58X0yu8e1ROKBCo8Yyx1oGLK-0-9930896377326e579a6cb2ce28b6c34d)