欢迎来到天天文库
浏览记录
ID:46690133
大小:67.00 KB
页数:6页
时间:2019-11-26
《熟悉make工具实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二熟悉make工具%1.实验目的1.理解make工具的基本作用,以及make工具和Makefile文件之间的关系。2.掌握make管理工具的使用和Makefile文件的编写。二、实验内容1.在Ubantu操作系统下,使用gedit文本编辑器按照要求编写c程序代码,并在终端进行编译运行。2.依据所编写的c程序代码编写Makefile文件,并使用make工具对所编写的c程序进行编译和清除所产生的中间文件。3.在终端中使用gcc编译命令编译所编写的c程序,分析gcc编译器和make工具两种编译方式的特点。三、实验环境硬件:PC机Pentium500以上,硬盘40G以上,内存大于256
2、M。软件:VmwareWorkstation+Ubantu操作系统+MiniCom/Xshell+ARM-LINUX交叉编译开发环境。%1.实验步骤一、使用gedit文本编辑器编写一个helloworld程序。编写该程序的make行le文件,并使用make命令进行编译。实验代码:l.c:#includeintmain(){printf(nhelloworld1*);}Makefile:wl:l.cgcc・owll.c实验结果:make:frwU*是最新的。wl@ubuntu:~/test2$・/wlhelloworldwl@ubuntu:~/test2$
3、二、使用
4、gedit文本编辑器编写一个c程序,程序的功能是:判断所输入的一个正整数是奇数还是偶数。要求:1.编写三个文件:一个主函数文件A,一个实现判断奇偶的文件B,和一个头文件C。2•编写makefile文件,要求使每一个・c文件都生成一个的.o目标文件,并将所有目标文件链接,得到最终的可执行程序目标;使用clean伪冃标,删除所有的・0文件和可执行程序文件。1.分别通过make工具和gcc编译器编译程序,并在Ubantu中执行,分析两种编译方式的特点。实验代码:l・h:inttest_numb(int);2.c:#includenl.hninttest_numb(inta){ints=a
5、%2;if(s==O)return0;if(s==l)return1;}l.c:#include#includenl.hnintmain(){inta,b;printf(n请输入一个数:”);scanf(”%d",&a);b=test_numb(a);if(b=0){printf(”这是一个偶数。n);}if(b==l){printf(”这是一个奇数。n);}return0;Makefile:judge:l.o2.0gcc・ojudgel.o2.ol.o:l.cl.hgcc・01・0・c1.c2.o:l.h2.cgcc-o2.o・c2,cclean:rm*
6、ojudge实验结果:wl@ubuntu:~/test3$makemake:"judge"是最新的。wl@ubuntu:~/test3$•/judge请输入一个数:47这是一个奇数。三、使用gedit文本编辑器编写一个c程序,程序的功能是:用户输入一个字符串,然后再输入一个字符,程序将字符串中的该字符删去,最后打印出处理的字符串。要求:1•编写4个c源文件,main.c为主函数,用以调用其他程序模块。funl用来实现字符串的输入,fun2用来删除字符串中特定的字符,fun3用以输出处理后的字符串。2.编写Makefile文件,并解释文件中关键代码的功能。要求使每一个.C文件都生成一
7、个的.0目标文件,并将所有目标文件链接,得到最终的可执行程序目标;使用clean伪目标,删除所有的.0文件和可执行程序文件。3•使用自定义变量和自动变量修改所编写好的makefile文件。1.通过make工具编译程序,并在Ubantu中执行。实验代码:/*******************************main.c*******************************#includeintmain(void){charc;charstr[2O];enter_string(str);printf("Thedeletestringis:");sca
8、nf("%c"z&c);delete^string(str;c);print_string(str);}#includereturn0;**********************************intenter_string(charstr[20]){printf(Hlnputthestrings:H);gets(str);return0;}intdelete_string(charstr[],charch)inti,j;for(i=j=0
此文档下载收益归作者所有