欢迎来到天天文库
浏览记录
ID:46865406
大小:57.00 KB
页数:6页
时间:2019-11-28
《Linux实验指导书三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、北京林业大学2014学年一2015学年第2学期Linux应用实验任务书专业名称:姓名:班级:学号:实验题目:实验三GNU下编译器和调试器的使用初步实验环境:Linux环境实验目的:通过调试一个有问题的程序,进一步熟练使用Vi操作,而且熟练掌握Gcc编译及Gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。实验内容:GNUGCC:编译单个源文件#include#includeintmain(intargc,char**argv){printf(uHelloworld!v);exit(O);简单编译两个源文件#in
2、cludevoidgoodbye_world(void);{printf(uGoodbye,world!v);}使用gcc的标记來编译支持库代码:#gcc-cmessage.c这一过程的输出结果是一个名为message.。的文件,它包含适合连接到一个较大程序的己编译目标代码。创建一个简单的示例程序,它包含一个调用上个程序里的goodbye_world的main函数。#includevoidgoodbye_world(void);intmain(intargc,char**aTgv){goodbye_world();exit(O);}使用gc
3、c编译这个程序:#gcc-cmain.c现在有了两个目标文件:message.o和main.Oo它们包含能够被Linux执行的目标代码。要从这个目标代码创建Linux可执行程序,需要再一次调用gcc来执行连接阶段的工作:使用外部函数库GCC常常与包含标准例程的外部软件库结合使用,儿乎每一个Linux应用程序都依赖于由GNUC函数库GLIBCo〃请编写代码计算sin30度+sin60度+sin90度,并完成编译,执行提示:头文件的使用BGCC编译时使用数学库参数。函数库位置随系统的不同而不同,但它一般会位于口录/lib或/usr/lib'
4、•,在这些口录屮还有数以百计的其他必需的系统
5、函数库。GNUGDB:⑴使用Vi编辑器,将以下代码输入到名为greet.c的文件中。此代码的原意为输出倒序main函数中定义的字符审,但结果显示没有输出。代码如下所示:(2)使用Gcc编译这段代码。(3)运行生成的可执行文件,观察运行结果。(4)使用Gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。(5)纠正错谋,更改源程序并得到正确的结果。#ineludeintdisplayl(char*string);intdisplay2(char*string);intmain(){charstring[]=nEmbeddedLinux”;displayl(st
6、ring);displayZ(string);}intdisplayl(char*string){printf("Theoriginalstringis%s,fzstring);}intdisplays(char*stringl){char*string2;intsize,i;size=strlen(stringl);string2=(char*)malloc(size+1);for(i=0;i7、ring?);}实验步骤:(1)在工作目录上新建文件greet.c,并用Vi启动:vigreet.Co(2)在Vi中输入以上代码。(3)在Vi中保存并退出:wq0⑷用Gcc编译:(5)运彳亍greet:./greet,输岀为:可见,该程序没有能够倒序输出。⑹启动Gdb调试:(7)查看源代码并进行调试。将原來有错的程序经过Gdb调试,找出问题所在,并修改源代码,输出正确的倒序显示字符串的结果。实验步骤中请适当截图。GNU调试器是一个功能非常强大的工具。要了解更加详尽的知识,建议阅读GNU调试器手册。LINUX环境下的编程实现:myl.dat请用深度优先搜索或广度优先搜索对上图的文件系8、统树进行遍历。实验中存在的问题及解决办法:思考题:NFS(NetworkFileSystem)服务是什么?SAMBA服务是什么?在虚拟机的LINUX-K配置某一种集成开发环境(IDE),并尝试。
7、ring?);}实验步骤:(1)在工作目录上新建文件greet.c,并用Vi启动:vigreet.Co(2)在Vi中输入以上代码。(3)在Vi中保存并退出:wq0⑷用Gcc编译:(5)运彳亍greet:./greet,输岀为:可见,该程序没有能够倒序输出。⑹启动Gdb调试:(7)查看源代码并进行调试。将原來有错的程序经过Gdb调试,找出问题所在,并修改源代码,输出正确的倒序显示字符串的结果。实验步骤中请适当截图。GNU调试器是一个功能非常强大的工具。要了解更加详尽的知识,建议阅读GNU调试器手册。LINUX环境下的编程实现:myl.dat请用深度优先搜索或广度优先搜索对上图的文件系
8、统树进行遍历。实验中存在的问题及解决办法:思考题:NFS(NetworkFileSystem)服务是什么?SAMBA服务是什么?在虚拟机的LINUX-K配置某一种集成开发环境(IDE),并尝试。
此文档下载收益归作者所有