makefile基础(构建多文件程序)

本文主要是讲解有关makefile的基础知识,入门级的知识,但是很有用。摘自于《C语言程序设计现代方法》-作者K-N-KIng。

构建大型程序和小型程序的基本步骤是一样的。

编译:对于每个源文件,编译器都会产生一个包含目标代码的文件,这些文件就是目标文件,Unix系统(Linux系统)下扩展名为*.o,windows 下为*.obj.

链接:链接器把上一步产生的目标文件和库函数的代码结合在一起生成可执行程序。

以GCC为例子,下面的命令构建了一个叫做justify的程序,源文件三个,分别是:justify.c line.c word.c 。

gcc -o justify justify.c line.c word.c 

为了易于构建大型程序,UNIX系统发明了makefile概念,这个文件包含了构建程序的必要信息。makefile 不仅列出了需要哪些文件,还描述了文件之间的依赖性。假设文件foo.c包含bar.h,那么就说foo.c 依赖于bar.h,因为修改bar.h 之后需要重新编译foo.c。

下面是针对程序justify而设的UNIX系统的makefile,它用GCC进行编译和链接:

justify:justify.o word.o line.o
		gcc -o justify justify.o word.o line.o

justify.o: justify.c  word.h line.h
		gcc -c justify.c
		
word.o: word.c word.h
		gcc -c word.c

line.o: line.c line.h
		gcc -c line.c 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值