Makefile编写实验.doc_第1页
Makefile编写实验.doc_第2页
Makefile编写实验.doc_第3页
Makefile编写实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Makefile编写实验【实验目的】了解Makefile的基本概念和基本结构.初步掌握编写简单Makefile的方法.了解递归Make的编译过程初步掌握利用GNU Make编译应用程序的方法【实验步骤】使用命令行的方式手动编译程序方法利用文本编辑器创建hello.c文件/hello.c/written by Emdoor#include int main()printf(Welcome Emdoor!n);return 1;手动编译hello应用程序,在hello.c的目录的终端下输入:rootlocal$ gcc c hello.c rootlocal$gcc hello.o o hello通过ls命令查看当前目录下是否生成源代码hello.c的object文件hello.o和可执行文件hello,运行可执行文件hello。查看一下运行结果。rootlocal$./hello修改hello.c文件,重新手动编译应用程序。删除hello.o和hello文件rootlocal$rm f hello.orootlocal$rm f hello利用 GNU make 自动编译应用程序方法利用文本编辑器创建一个makefile文件,并将其保存到与hello.c相同的目录下。# makefile test for hello program#written by EmdoorCC=gccCFLAGS=hello: hello.o$(CC) $(CFLAGS) hello.o o hellohello.o: hello.c$(CC) $(CFLAGS) c hello.c o hello.oclean:rm rf hello *.o先后执行如下命令:rootlocal$makerootlocal$lsrootlocal$./hello查看并记录所生成的文件和运行的结果。执行make clean命令:rootlocal$make clean修改hello.c文件,重复第2、3步操作,查看并记录所生成的文件和运行结果。重新编辑makefile文件(斜黑体表示修改部分)# makefile test for hello program#written by EmdoorCC=gccCFLAGS=OBJS=hello.oall: hellohello: $(OBJS)$(CC) $(CFLAGS) $ -o $hello.o: hello.c$(CC) $(CFLAGS) c $ -o $clean:rm rf hello *.o重复第2,3步操作,查看并记录所生成的文件和运行的结果。比较这两种操作,写出你的结论。同时指出$ 、$、$在上述Makefile中的含义。多个.c文件的编译创建文件hello1.c、hello2.c、hello.h和makefile/hello1.c/written by Emdoor#include int main()printf(Welcome Emdoor!n);test2();return 1;/hello2.c/written by Emdoorinclude hello2.h#include void test2(void)printf(Welcome Emdoor! hello2n);/hello2.h/written by Emdoorvoid test2(void);# makefile test for multi files program#written by EmdoorCC=gccCFLAGS=OBJS=hello1.o hello2.ohello: $(OBJS)$(CC) $(CFLAGS) $ -o $hello1.o: hello1.c$(CC) $(CFLAGS) c $ -o $hello2.o: hello2.c$(CC) $(CFLAGS) c $ -o $clean:rm rf h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论