第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > linux实验五编程淮海工学院 实验一-LinuxC编程工具GCC和GDB.doc

linux实验五编程淮海工学院 实验一-LinuxC编程工具GCC和GDB.doc

时间:2021-12-29 11:19:50

相关推荐

linux实验五编程淮海工学院 实验一-LinuxC编程工具GCC和GDB.doc

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

淮海工学院计算机工程学院实验报告书

课程名: 《Linux程序设计》 题 目: 实验一 Linux C编程工具:GCC和GDB 班 级: 软件131 学 号: 122870 姓 名: 王裕

评语:

成绩: 指导教师:

批阅时间: 年 月 日

《Linux程序设计》实验报告 - PAGE 5 -

实验目的与要求掌握Linux C开发过程中的基本概念;掌握如GCC,GDB等开发工具的使用。实验内容将参考代码录入到test1.c文件中,编译执行后发现结果与预期不一致,请使用GDB调试,完成字符串反序输出功能。参考源代码#include #include #include

int reverse_str(char *string); int main (void) { char string[] = "Linux C Tools : GCC and GDB"; printf ("The original string is %s \n", string); reverse_str (string);}

int reverse_str (char *str) { char *new_str; int i, size; size = strlen (str); if((new_str = (char *) malloc (size + 1)) == NULL) { return -1; }

for (i = 0; i < size; i++) new_str[size - i] = str[i]; new_str[size+1] = ' '; printf("The reversed string is %s\n",new_str); free(new_str); return 0 ;}实验步骤编辑源代码test1.cmkdir test1cd test1gedit test1.c使用gedit编辑器,建议课外学习vim;分析代码中语句功能。编译源代码test1.cgcc test1.c -o test1 -g复习gcc常用选项;帮助学生排查编译时错误。分析输出结果调试test1 gdb test1回顾调试的基本方法:跟踪语句执行过程,观察执行结果;设置断点的三种基本方法:① b ② b if condition_expression③ b 查看中间输出结果:① p② set print element 0p 或说明:GDB中查看字符串变量值可通过“set print element 0”命令,一次性显示字符串所有内容。分析中间结果,修改28行语句为new_str[size - i-1] = str[i];实验结果与截图编写test1.c文件并编译

2.设置断点,进行gdb测试跟踪变量。执行到i=27时size-i=0,str[27]已经超过str字符串限制,于是new_str[0]=’\0’。

输出new_str时,由于超过限制无法输出。所以修改程序第28行语句为new_str[size - i-1] = str[i];正确的程序运行结果如下图所示。

思考题分析以下代码,完成指定范围内数值累加功能:#include

/*函数功能:将low到high之间的数值累加求和*/int add_range(int low, int high) { int i, sum; for (i = low; i <= high; i++) sum = sum + i; return sum;}

int main(void) { int result[2];

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。