第5章使用GCC编译器.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章使用GCC编译器.PDF

第 5 章 使用 GCC 编译器 编译器就是将高级程序语言转换为执行效率更高的机器语言的程序。GCC 是 Linux 平 台下最常用的编译程序,同时,在 Linux 平台下的嵌入式开发领域,GCC 也是使用最为普 遍的一种编译器。本章将对 GCC 的安装及基本使用方法进行讲解。 5.1 安装 GCC GCC (GNU Compiler Collection )是一套功能强大、性能优越的编程语言编译器,它 是 GNU 计划的代表作品之一。目前,GCC 支持的体系结构有 40 多种,常见的有 x86 系列、 ARM 系列、PowerPC 等。另外,GCC 还能运行在不同的操作系统上,如 Linux 、Solaris、 Windows 等。 Linux 下安装 GCC 有两种方式,以 RPM 等二进制形式在线安装或直接从源代码编译 安装。编译安装对应初学者来说难度有点大并且容易出错。这里我们就介绍在线安装的 方式。 Ubuntu 等基于 Debian 发行版 Linux 可以使用如下命令安装: apt-get install gcc Fedora 等基于 RPM 发行版 Linux 可以使用如下命令安装: yum install gcc 在上述命令执行完毕后,读者可以通过编译一段 C 程序来检测 GCC 是否正常安装。 也可以通过查看 GCC 版本来确认,命令如下: gcc --version 5.2 GCC 常用选项 GCC 编译器可以使用不同的选项来编译程序,使得用户可以根据自己的需求来定制编 译程序。下面我们就来学习常用的选项。 5.2.1 编译程序 本节通过使用不同的选项,编译一段代码来学习 GCC 常用的选项。GCC 编译器的基 本选项如表 5.1 所示。 第 5 章 使用 GCC 编译器 表 5.1 GCC 编译器的基本选项 选 项 说 明 -E 预处理后即停止,不进行编译、汇编及连接 -S 编译后即停止,不进行汇编及连接 -c 编译或汇编源文件,但不进行连接 -o file 指定输出文件为 file 在第 2 章中已经介绍过,程序的编译要经过预处理、编译、汇编,以及连接 4 个阶段。 在预处理阶段,主要处理 C 语言源文件中的#ifdef 、#include ,以及#define 等命令。在预处 理的过程中,GCC 会忽略掉不需要预处理的输入文件,该阶段会生成中间文件*.i。 对于如下的源程序: 01 /* example.c */ 02 #include stdio.h 03 int main() 04 { 05 int i; 06 for(i=0;i5;i++) 07 { 08 printf(%d\n,i); 09 } 10 return 0; 11 } 使用如下命令对上面的源文件进行预处理。 gcc -E example.c -o example.i 上面使用了两个选项:-E 和-o ,其中-E 表示在预处理结束后即停止编译过程;-o 指定 输出文件。前面的选项不同,输出的文件类型也不相同,可能为预处理后的 C 代码、汇编 文件、目标文件或可执行文件,这里即为预处理后的 C 代码。 预处理后输出文件 example.i 的内容为: 01 # 1 example.c 02 # 1 built-in 03 # 1 命令行 04 # 1 example.c 05 # 1 /usr/include/stdio.h

文档评论(0)

wendang_12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档