Linux——宏编译

本文介绍了Linux中如何使用宏编译简化多个源文件的编译过程,重点讲解了makefile的基本语法和变量使用。通过示例说明了makefile如何定义目标文件和依赖关系,以及如何通过make命令执行编译和清理操作。还提到了makefile中变量的设定与使用规则,包括环境变量的优先级问题。

假设我的执行档中有四个源码文件分别是main.c  haha.c  sin_value.c  cos_value.c,这四个文件的目的是:

· main.c :主要的目的是让用户输入角度数据与呼叫其他三支子程序;
· haha.c :输出一堆有的没有的讯息而已;
· sin_value.c :计算使用者输入的角度(360) sin 数值;
· cos_value.c :计算使用者输入的角度(360) cos 数值。

我们需要对其进行别编译执行,很麻烦。我们可以利用make工具将以上文件一次性编译。

1. 先编辑 makefile 这个规则文件,内容只要作出 main 这个执行档
[root@study ~]# vim makefile
main: main.o haha.o sin_value.o cos_value.o
gcc -o main main.o haha.o sin_value.o cos_value.o -lm
# 注意:第二行的 gcc 之前是 <tab> 按键产生的空格喔!
# 2. 尝试使用 makefile 制订的规则进行编译的行为:
[root@study ~]# rm -f main *.o <==先将之前的目标文件去除
[root@study ~]# make
cc -c -o main.o main.c
cc -c -o haha.o haha.c
cc -c -o sin_value.o sin_value.c
cc -c -o cos_value.o cos_value.c
gcc -o main main.o haha.o sin_value.o cos_value.o -lm
# 此时 make 会去读取 makefile 的内容,并根据内容直接去给他编译相关的文件啰!
# 3. 在不删除任何文件的情况下,重新执行一次编译的动作:
[root@study ~]# make
make: `main' is up to date.
# 看到了吧!是否很方便呢!只会进行更新 (update) 的动作而已。

或许你会说:『如果我建立一个

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值