Linux实验五实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学实验(实习)报告
实验(实习)名称Linux下常用开发工具实验(实习)日期2013-12-13 得分指导教师耿学华
系计软院专业软工年级11 班次 1 姓名******* 学号**************
一、实验目的
1. 掌握Linux下C程序的编译方法,掌握编译工具gcc的常用选项
2. 掌握Linux下调试工具gdb的使用方法和常用命令
3. 掌握makefile文件的编写方法
4. 掌握系统功能调用的使用方法
二、实验准备
1.复习/浏览以下内容:
(1)课件“第6章常用开发工具”
(2)教材5.1节+教材7.1节
梳理以下内容:
(1)linux操作系统基本知识
(2)什么是系统调用?什么是库函数?二者的区别与联系。
(3)linux系统中程序文件的组成和一般存放位置(第6章课件slide19)
(4)linux下库文件的命名约定(教材P186+第6章课件slide20)
2. 参考“gcc-gdb-make操作实例.pdf”,学习gcc、gdb、make的基本用法。
三、实验内容
1. 操作文档“gcc-gdb-make操作实例.pdf”中的实例。
2. 用gcc编译c语言程序,使用不同选项,观察并分析结果;利用gdb调试编译后的程
序。
3. 教材P206习题6.9
四、实验步骤
1. 操作文档“gcc-gdb-make操作实例.doc”中的实例。
详细步骤见文档。
实例一
实例二
实例三
实例四
2. 使用gcc编译一c程序,并使用gdb练习调试。
第1步,使用vi/vim/gedit编写源程序文件file1.c
第2步,查阅教材P209-210表7.1(第2版在P207-208)理解系统调用read和write的功能、参数含义及返回值。
第3步,分别使用如下方式对file1.c进行编译并运行生成的可执行程序
①gcc file1.c 观察生成的可执行文件名是什么并运行它。
②gcc file1.c –o file1观察生成的可执行文件名是什么并运行它。
③gcc –c file1.c 观察此时生成的文件是什么。若要得到可执行程序,下一步该如何
做?
要求在实验报告中总结以下内容:
a)file1.c源文件中系统调用read、write的功能、语法格式、参数及返回值的含义
Read:从文件描述符0所表示的文件中读取100字节的数据,放入缓冲区buf中,其返回值是实际读取的字节数,可能会小于100。如果返回值为0,则表示读到文件末尾,返回值为-1,则表示出错。
Write:将缓冲区中30字节写入文件描述符0所表示的文件中去,其返回值是写入的字节数。如果发生fd错误或磁盘已满等问题,返回值会小于30;如果未写出任何数据,返回值为0;如果在write中调用中出现错误,则返回值为-1.
b) 回答第3步中的①②③
○1a.out
○2 file1
○3file1.o
c) 要想使用gdb进行调试,在使用gcc编译时该如何做?
使用 gcc 的选项 -g,在生成文件中包含调试信息,以备 gdb 调试使用。
3. 教材P206习题6.9
要求在实验报告中写出编写的makefile文件。
(提示:完成此题可参考①文档“gcc-gdb-make操作实例.pdf”中的make工具简介及实例部分+ ②教材P200例6.1)
五、总结与体会
通过本次实验,初步掌握了Linux下C程序的编译方法、编译工具gcc的使用以及调试工具gdb的使用方法和常用命令,并且掌握了makefile文件的编写方法,但是对一些课堂以外的拓展性的操作和理论的知识还是有着很大的欠缺,需要多多学习加强。