下载此文档

gcc编译程序与gdb调试程序.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
编译程序与gdb调试程序一、,的各种选项编译程序。,使读者进一步熟练使用vi操作,编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。二、实验内容:1、的各种选项编译程序。(1):#include<>intmain(void){printf(“Helloworld!\n”);return0;}(2)创建静态库,并运行程序/**/#include<>#include<>intmain(intargc,char*argv[]){unsignedintx,y;unsignedlonglongres;if((argc<3)||(sscanf(argv[1],"%u",&x)!=1)||(sscanf(argv[2],"%u",&y))!=1){printf("Usage:powbaseexponent\n");exit(1);}res=unsgn_pow(x,y);printf("%u^%u=%u\n",x,y,res);exit(0);}/*:库程序*/unsignedlonglongunsgn_pow(unsignedintx,unsignedinty){unsignedlonglongres=1;if(y==0){res=1;}elseif(y==1){res=x;}else{res=x*unsgn_pow(x,y-1);}returnres;}创建静态库,然后编译主程序,并运行结果。(3)针对(2)的程序,创建动态库,然后编译主程序,并运行结果。对比两者的区别。(4)对下面程序进行优化编译,对比优化前后的结果,并解释说明结果。#include<>intmain(void){doublecounter;doubleresult;doubletemp;for(counter=0;counter<**+2020;counter+=(5-1)/4){temp=counter/1979;result=counter;}printf(“Resultis%lf\\n”,result);return0;}2、用gdb调试程序的bug(1)使用vi编辑器,。此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。代码如下所示:#include<>intdisplay1(char*string);intdisplay2(char*string);intmain(){charstring[]="EmbeddedLinux";display1(string);display2(string);}1(char*string)intdisplay{printf("Theoriginalstringis%s\n",string);}intdisplay2(char*string1){char*string2;intsize,i;size=strlen(string1);string2=(char*)malloc(size+1);for(i=0;i<size;i++){string2[size-i]=string1[i];}string2[size+1]='';printf("Thestringafterwardis%s\n",string2);}(2)编译这段代码,注意要加上“-g”选项以方便之后的调试。(3)运行生成的可执行文件,观察运行结果。(4)使用gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。

gcc编译程序与gdb调试程序 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小387 KB
  • 时间2019-11-30
最近更新