实验一-LinuxC编程工具GCC和GDB

实验一-LinuxC编程工具GCC和GDB

ID:47531525

大小:163.27 KB

页数:7页

时间:2020-01-13

实验一-LinuxC编程工具GCC和GDB_第1页
实验一-LinuxC编程工具GCC和GDB_第2页
实验一-LinuxC编程工具GCC和GDB_第3页
实验一-LinuxC编程工具GCC和GDB_第4页
实验一-LinuxC编程工具GCC和GDB_第5页
资源描述:

《实验一-LinuxC编程工具GCC和GDB》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、淮海工学院计算机工程学院实验报告书课程名:《Linux程序设计》题目:实验一LinuxC编程工具:GCC和GDB班级:软件131学号:2013122870姓名:王裕评语:成绩:指导教师:批阅时间:年月日《Linux程序设计》实验报告-5-一、实验目的与要求1.掌握LinuxC开发过程中的基本概念;2.掌握如GCC,GDB等开发工具的使用。二、实验内容1.将参考代码录入到test1.c文件中,编译执行后发现结果与预期不一致,请使用GDB调试,完成字符串反序输出功能。三、参考源代码#include

2、io.h>#include#includeintreverse_str(char*string);intmain(void){charstring[]="LinuxCTools:GCCandGDB";printf("Theoriginalstringis%s",string);reverse_str(string);}intreverse_str(char*str){char*new_str;inti,size;size=strlen(str);if((ne

3、w_str=(char*)malloc(size+1))==NULL){return-1;}for(i=0;i

4、器,建议课外学习vim;(2)分析代码中语句功能。步骤1.编译源代码test1.cgcctest1.c-otest1-g(1)复习gcc常用选项;(2)帮助学生排查编译时错误。(3)分析输出结果步骤2.调试test1gdbtest1(1)回顾调试的基本方法:跟踪语句执行过程,观察执行结果;(2)设置断点的三种基本方法:①b②bifcondition_expression③b(3)查看中间输出结果:①p②setp

5、rintelement0p说明:GDB中查看字符串变量值可通过“setprintelement0”命令,一次性显示字符串所有内容。(4)分析中间结果,修改28行语句为new_str[size-i-1]=str[i];一、实验结果与截图1.编写test1.c文件并编译《Linux程序设计》实验报告-5-2.设置断点,进行gdb测试跟踪变量。执行到i=27时size-i=0,str[27]已经超过str字符串限制,于是new_str[0]=’’。输出new_

6、str时,由于超过限制无法输出。所以修改程序第28行语句为new_str[size-i-1]=str[i];正确的程序运行结果如下图所示。《Linux程序设计》实验报告-5-一、思考题1.分析以下代码,完成指定范围内数值累加功能:#include/*函数功能:将low到high之间的数值累加求和*/intadd_range(intlow,inthigh){inti,sum;for(i=low;i<=high;i++)sum=sum+i;returnsum;}intmain(void)

7、{intresult[2];result[0]=add_range(1,10);result[1]=add_range(1,100);printf("result[0]=%dresult[1]=%d",result[0],result[1]);return0;}答:进行累加时,局部变量sum的值会被内存保存下来,会导致数值错误,要对其初始化为0。把inti,sum;改为inti;intsum=0;2.结构化编程经常将相近功能编译成库形式,方便调用。请查阅资料,使用GCC将一组功能相关的源文件编

8、译成静态库或动态库?建立库文件的源文件print1.c和print2.c如下所示:/*print1.c*/#includevoidprint1(intarg){printf("%d",arg);}/*print2.c*/#includevoidprint2(char*arg){printf("%s",arg);《Linux程序设计》实验报告-5-}调用库函数的源文件为main.c如下:/*main.c*/voi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。