- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验 1 Linux GNU 开发环境建立实验
1.1 实验目的
• 练习由源码编译软件的方法
• 掌握 gcc 编译器的建立过程。
1.2 实验设备
• 硬件:PC 机;
• 软件:RedHat 9.0 操作系统,GNU 工具链。
1.3 实验内容
• 练习通过源码编译方式生成新版本 gcc 编译器
• 使用新版本 gcc 编译器编译生成可执行文件
1.4 实验原理
1.4.1 GNU 工具链的简介
GNU 工具链(GUN Tools)全称(GNU Development Toolchains),GNU 既支持本地程序
开发,又支持交叉编译。GNU 开发工具包括完备的工具链—GCC、binutils、gdb、GNU make、
patch、CVS、开发库等。
1.4.2 GNU 各个组件的介绍
GCC 属于 GUN 工具链中的编译开发工具,它可以把源程序编译为可执行文件。GCC 是支
持支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL 语言,
以及支持函数式编程和逻辑编程的 Mercury 语言,等等的编译器。GCC 是可以在多种硬体
平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高
20%~30%。GCC 主要包括:
• cpp:GNU C编译器的预处理器
• gcc:符合 ISO 标准的C 编译器
• g++:基本符合 ISO 标准的 C++编译器
• gcj:GCC的java 前端
• gnat:GCC的 GNU ADA 95 的前端
binutils是一组二进制工具程序集合,是辅助 GCC 的主要软件,其中主要包括:
• as:GNU 汇编器
• ld:GNU 链接器
• ar:创建归档文件,向库中添加/提取 obj 文件
• nm:列出obj 文件中的符号
• objcopy:复制和转化 obj 文件
• objdump:显示对象文件的信息
• ranlib:根据归档文件中的内容建立索引
• readelf:显示 elf 格式执行文件中的各种信息
• size:显示object 文件和执行文件各段的总大小
• strings:显示文件中可以打印的字符
• strip:去掉执行文件中多余的信息(如调试信息)
• gprof:用来显示图表档案数据
gdb 是 GNU 的调试器。可以用来调试 C、C++和其他语言编写的程序。如加一些图形前端
(如 DDD),可以在图形环境下调试程序。
GNU make是一个用来控制可执行程序生成过程、从其他源码文件中生成可执行程序的程
序。它允许用户生成和安装软件包,而无需了解其生成、安装软件包的过程。
diff/diff3/sidff是GNU 中比较文本差异的工具,也可以用来生成补丁。
Patch是GNU 中的补丁安装程序,可根据 diff生成的补丁来更新程序。
CVS 是版本控制系统。用于管理开发版本和控制在多位作者间同时编辑源码文件。
1.4.3 GNU 常用开发工具的介绍和使用
上面我们对 GNU 开发工具链做了概述,下面我们再给出 linux下常用开发工具的介绍和
使用。
1.vi(vim)
vi 是linux 下一种功能强大的,快速命令驱动的全屏幕编辑器,可以类比 DOS的 edit。
vi 有三种操作模式:一是命令模式(或称指令模式),在此模式下的按键当作指令来处理;
一种是输入模式(或称插入模式),此模式的按键作为真正的输入;另外一种是底行模式,
在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,也可以设置编译环
境,如寻找字符串、列出行号等。初始启动 vi时处于命令模式。表 1.1 中列出了vi(vim)
常用的命令。
命 令 介 绍
光标移动类命令 移动输入光标
h 将光标向左移动一列
j 将光标向下移动一行
k 将光标向上移动一行
l 将光标向右移动一列
您可能关注的文档
- Visual C++6.0简介与其优点.doc
- 第九章 安宁市教师招聘考试冲刺题解析.doc
- voip技术原理与呼叫流程.doc
- 嵌入式系统日志解决方案幻灯片.pdf
- 第3课 实验六 SQL语句查询实验.doc
- 第三章 目录_中国2010年人口普查民族人口资料.pdf
- C++及C语言函数ee.doc
- 第一章 安卓手机使用小技巧.doc
- 说课程—解构和重构.ppt
- 第3课 实验8 多用户CDMA直接序列扩频系统仿真.doc
- 2025年徐州市烟草系统事业单位人员招聘笔试考试题库及答案解析.docx
- 2025年宣城市卫生健康系统事业单位人员招聘笔试考试题库及答案解析.docx
- 2025年西安市法院书记员招聘笔试考试题库及答案解析.docx
- 2025年新疆维吾尔自治区烟草系统事业单位人员招聘笔试考试题库及答案解析.docx
- 2025年乌鲁木齐市法院书记员招聘笔试考试题库及答案解析.docx
- 2025年六安市工会系统事业单位人员招聘笔试考试题库及答案解析.docx
- 2025年温州市街道办人员招聘笔试考试题库及答案解析.docx
- 2025年信阳市林业系统事业单位人员招聘笔试考试题库及答案解析.docx
- 2025年梧州市法院书记员招聘笔试考试题库及答案解析.docx
- 2025年威海市工会系统事业单位人员招聘笔试考试题库及答案解析.docx
文档评论(0)