linux编程基础实验三,Linux下C编程基础之:实验内容

本文引用地址:http://www.eepw.com.cn/article/257147.htm

3.7.3编写包含多文件的makefile

1.实验目的

通过对包含多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量及预定义变量的理解。

2.实验过程

(1)用vi在同一目录下编辑两个简单的hello程序,如下所示:

#hello.c

#includehello.h

intmain()

{

printf(Helloeveryone!\n);

}

#hello.h

#includestdio.h>

(2)仍在同一目录下用vi编辑makefile,且不使用变量替换,用一个目标体实现(即直接将hello.c和hello.h编译成hello目标体)。然后用make验证所编写的makefile是否正确。

(3)将上述makefile使用变量替换实现。同样用make验证所编写的makefile是否正确。

(4)编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(也就是首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile1的正确性。

(5)将上述makefile1使用变量替换实现。

3.实验步骤

(1)用vi打开上述两个代码文件“hello.c”和“hello.h”。

(2)在shell命令行中用gcc尝试编译,使用命令:“gcchello.c–ohello”,并运行hello可执行文件查看结果。

(3)删除此次编译的可执行文件:rmhello。

(4)用vi编辑makefile,如下所示:

hello:hello.chello.h

gcchello.c-ohello

(5)退出保存,在shell中键入:make,查看结果。

(6)再次用vi打开makefile,用变量进行替换,如下所示:

OBJS:=hello.o

CC:=gcc

hello:$(OBJS)

$(CC)$^-o$@

(7)退出保存,在shell中键入make,查看结果。

(8)用vi编辑makefile1,如下所示:

hello:hello.o

gcchello.o-ohello

hello.o:hello.chello.h

gcc-chello.c-ohello.o

(9)退出保存,在shell中键入:make-fmakefile1,查看结果。

(10)再次用vi编辑makefile1,如下所示:

OBJS1:=hello.o

OBJS2:=hello.chello.h

CC:=gcc

hello:$(OBJS1)

$(CC)$^-o$@

$(OBJS1):$(OBJS2)

$(CC)-c$-o$@

在这里请注意区别“$^”和“$”。

(11)退出保存,在shell中键入make-fmakefile1,查看结果。

4.实验结果

各种不同形式的makefile都能正确地完成其功能。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值