gcc编译程序与gdb调试程序
《gcc编译程序与gdb调试程序》由会员分享,可在线阅读,更多相关《gcc编译程序与gdb调试程序(14页珍藏版)》请在装配图网上搜索。
1、嵌入式原理与应用实验实验五gcc编译程序与gdb调试程序 学号 姓名 班级 华侨大学电子工程系实验五gcc编译程序与gdb调试程序一、实验目的1. 通过几种不同需求的程序,掌握使用gcc的各种选项编译程序。2. 通过调试一个有问题的程序,使读者进一步熟练使用vi操作,而且熟练掌握gcc编译命令及gdb 的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。二、实验内容:1、学习使用gcc的各种选项编译程序。(1)编译和运行这段程序hello.c:#include int main(void)printf (“Hello world!n”);return 0;(2)创建静态
2、库,并运行程序/* pow_test.c */ #include #include int main(int argc, char *argv) unsigned int x, y; unsigned long long res; if (argc 3) | (sscanf(argv1, %u, &x) != 1) | (sscanf(argv2, %u, &y) != 1) printf(Usage: pow base exponentn); exit(1); res = unsgn_pow(x, y); printf(%u %u = %un, x, y, res); exit(0);/*
3、unsgn_pow.c:库程序 */unsigned long long unsgn_pow(unsigned int x, unsigned int y) unsigned long long res = 1; if (y = 0) res = 1; else if (y = 1) res = x; else res = x * unsgn_pow(x, y - 1); return res;创建静态库,然后编译主程序,并运行结果。(3)针对(2)的程序,创建动态库,然后编译主程序,并运行结果。对比两者的区别。(4)对下面程序进行优化编译,对比优化前后的结果,并解释说明结果。#include
4、 int main(void)double counter;double result;double temp;for (counter = 0; counter 2000.0 * 2000.0 * 2000.0 / 20.0 + 2020;counter += (5 - 1) / 4) temp = counter / 1979;result = counter;printf(“Result is %lfn”, result);return 0;2、用gdb调试程序的bug(1)使用vi 编辑器,将以下代码输入到名为greet.c 的文件中。此代码的原意为输出倒序main函数中定义的字符串,
5、但结果显示没有输出。代码如下所示:#include int display1(char *string);int display2(char *string);int main ()char string = Embedded Linux;display1 (string);display2 (string);int display1 (char *string)printf (The original string is %s n, string);int display2 (char *string1)char *string2;int size,i;size = strlen (stri
6、ng1);string2 = (char *) malloc (size + 1);for (i = 0; i size; i+)string2size - i = string1i;string2size+1 = ;printf(The string afterward is %sn,string2);(2)使用gcc编译这段代码,注意要加上“-g”选项以方便之后的调试。(3)运行生成的可执行文件,观察运行结果。(4)使用gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。(5)纠正错误,更改源程序并得到正确的结果。三、记录实验步骤及运行结果参考gcc的各种选项,设计完成上面实验的步骤,将运行结果截图,并对结果进行解释说明。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北大纵横-湖北东方化学工业-管理咨询项目建议书课件
- SPSS的认识和基本运用课件
- 房地产企业集团化管控
- Section-B-1最新版新目标七年级pptUnit-7全国青年教师素养大赛一等奖课件
- 戴德梁行深圳市中山公园项目服务建议书
- 房地产项目入伙管理与工程质量投诉集中处理方法要点
- 北大纵横——某房地产公司人力资源-课件
- spss统计(卡方检验和t检验)课件
- 户内燃气设施隐患及事故性质判断课件
- 北大纵横××集团人力资源战略教学课件
- 地产设计部流程进度管理教学课件
- 房地产置业顾问拓客技巧及执行
- 等比数列的概念与通项公式2ppt课件
- 北大纵横-鞍钢新轧-企业文化诊断报告课件
- 递推递归的复杂性分析课件