Linux实验指导书三.doc_第1页
Linux实验指导书三.doc_第2页
Linux实验指导书三.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux实验指导书三 北京林业大学xx学年xx学年第1学期Li nux应用实验任务书专业名称班级姓名学号实验题目实验三GNU下编译器和调试器的使用实验环境Li nux环境实验目的通过调试一个有问题的程序,进一步熟练使用Vi操作,而且熟练掌握G编译及Gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。 实验内容GNU GCC编译单个源文件#include#includeint main(int argc,char*argv)printf(“Hello world!n”);exit (0);简单编译两个源文件#includevoid goodbye_world(void);printf(“Goodbye,world!n”);使用g的“-c”标记来编译支持库代码#g-c message.c这一过程的输出结果是一个名为message.o的文件,它包含适合连接到一个较大程序的已编译目标代码。 创建一个简单的示例程序,它包含一个调用上个程序里的goodbye_world的main函数。 #includevoid goodbye_world(void);int main(int argc,char*argv)goodbye_world();exit (0);使用g编译这个程序#g-c main.c现在有了两个目标文件message.o和main.o。 它们包含能够被Linux执行的目标代码。 要从这个目标代码创建Linux可执行程序,需要再一次调用g来执行连接阶段的工作使用外部函数库GCC常常与包含标准例程的外部软件库结合使用,几乎每一个Linux应用程序都依赖于由GNU C函数库GLIBC。 /请编写代码计算sin30度+sin60度+sin90度,并完成编译,执行提示头文件的使用且GCC编译时使用数学库参数。 函数库位置随系统的不同而不同,但它一般会位于目录/lib或/usr/lib中,在这些目录中还有数以百计的其他必需的系统函数库。 GNU GDB (1)使用Vi器,将以下代码输入到名为greet.c的文件中。 此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。 代码如下所示 (2)使用G编译这段代码。 (3)运行生成的可执行文件,观察运行结果。 (4)使用Gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。 (5)纠正错误,更改源程序并得到正确的结果。 实验步骤 (1)在工作目录上新建文件greet.c,并用Vi启动vi greet.c。 (2)在Vi中输入以上代码。 (3)在Vi中保存并退出wq。 (4)用G编译 (5)运行greet./greet,输出为可见,该程序没有能够倒序输出。 (6)启动Gdb调试 (7)查看源代码并进行调试。 将原来有错的程序经过Gdb调试,找出问题所在,并修改源代码,输出正确的倒序显示字符串的结果。 实验步骤中请适当截图。 GNU调试器是一个功能非常强大的工具。 要了解更加详尽的知识,建议阅读GNU调试器手册。 LINUX环境下的编程实现请用深度优先搜索或广度优先搜索对上图的文件系统树进行遍历。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论