资源描述:
《滕健伟--1315212033--嵌入式实验五实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、嵌入式原理与应用实验实验五gcc编译程序与gdb调试程序学号1315212033姓名滕健伟班级13电子二班华侨?;曇电3工程系实验五gcc编译程序与gdb调试程序一、实验目的1.通过几种不同需求的程序,掌握使用gcc的各种选项编译程序。2.通过调试一个有问题的程序,使读者进一步熟练使用vi操作,而且熟练掌握gcc编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。二、实验内容:1、学习使用gcc的各种选项编译程序。(1)编译和运行这段程序hell()・c:#includeintmain(void){printf(“Helloworld
2、!");return0;}[roogcc]#viheIIo.c[roogcc]#gcche1loaC-oheIIo[root'^wsvgcc]#./heIIoheIIo\c)rId![roogcc]#
3、(2)创建静态库,并运行程序/*powtest.c*/#include#includeintinain(intargc,char*argv[]){unsignedintx,y;unsignedlonglongres;if((argc<3)
4、
5、(sscanf(argv[lj,"%u",&x)!=1)I
6、(sscanf(argv[2],"%u",&y))
7、!=1){printf("Usage:powbaseexponent〃);exit(1);}res=unsgn_pow(x,y);printfCz%u"%u=%urT,x,y,res);exit(0);/*unsgn_pow.c:库程序*/unsignedlonglongunsgn_pow(unsignedintx,unsignedinty)unsignedlonglongres=1;if(v==0){res=1;}elseif(y==1){res=x;}else{res二x*unsgn_pow(x,y-1);}returnres;}创建静态库,然后编译主程序,并运行结果。[roogc
8、c]#[roogcc]#gcc一cunsgn_pow.carrcsv1ibpow.aunsgn_pov.oa-unsgn_pow,o[【oo@\\vgcc]#[root'^wvgcc]#2,10=1024gcc-opontestpow^test,c-L.-Ipow./pou^test210
9、[mogcc]#[roogcc]#[roogcc]#[root(^uwgcc]#(1)针对(2)的程序,创建动态库,然后编译主程序,并运行结果。对比两者的区别。gcc-fPIC-Wll-cunsgn^pow.cgcc-shared-o1ibpow.sounsgn_pow.ogcc-opo^tes
10、tpow^test.c-L.Ipow[root^wwgcc]#1she1IoIibpow.apoy_testunsgn_pow.cheIIo.cIibpow.sopou^test.cunsgn_pow.o[root^Xwwgcc]#gcc-opou^testpov_test.c-L.[roogcc]#cpIibpow.so/Iib[root@vwivgccH./pouLtest2102,10=1024
11、[rootgcc]#(2)对下面程序进行优化编译,对比优化前后的结果,并解释说明结果。#includeintmain(void){doublecounter;doubl
12、eresult;doubletemp;for(counter=0;counter<2000.0*2000.0*2000.0/20.0+2020;counter+二(5-1)/4){temp=counter/1979;result二counter;}printf(^Resultis%lf”,result);return0;}[root^Xwwgcc]#vi4.c[root<^\wgcc]#gcc4.c-o4[root^wwgcc]#tirre./4Resultis400002019.000000IreaIOrrtl.597s人user0n4.550ssysOnt)>000s[root
13、^wuvgcc]#gcc-O4.c-o4[rool^swvgcc]#Iim?・/4Resultis400002019.000000rea10ml.230suser0ml.180ssysOnt).000s
14、[root^wgcc]#
15、对程序进行优化z后,可以明显看出程序运行的时间大大缩短了,提高了程序运行的效率。2、用gdb调试程序的bug(1)使用vi编辑器,将以下代码输入到名为greet,c的文件中。此代码