初识makefile

一、相关知识

1. `main: main.o add.o`:这是一个规则,指定了"main"可执行文件的生成方式。它依赖于两个目标文件"main.o"和"add.o"。这意味着在生成"main"之前,需要先生成这两个目标文件。

2. `    gcc main.o add.o -o main`:这是生成"main"可执行文件的命令。它使用`gcc`编译器将"main.o"和"add.o"链接在一起,生成名为"main"的可执行文件。

3. `main.o: main.c`:这是生成"main.o"目标文件的规则。它指定了"main.o"依赖于"main.c"源文件,意味着需要先编译"main.c"才能生成"main.o"。

4. `    gcc -c main.c`:这是生成"main.o"目标文件的命令。它使用`gcc`编译器编译"main.c",但不进行链接操作。这将生成"main.o"目标文件。

5. `add.o: add.c add.h`:这是生成"add.o"目标文件的规则。它指定了"add.o"依赖于"add.c"和"add.h"文件,说明需要编译"add.c"文件。

6. `    gcc -c add.c`:这是生成"add.o"目标文件的命令。它使用`gcc`编译器编译"add.c"文件,但不进行链接操作。这将生成"add.o"目标文件。

7. `clean:`:这是一个伪目标,用于清理生成的中间文件和可执行文件。这个规则没有依赖,只是用于执行`make clean`时的清理操作。

8. `  rm -rf *.o main`:这是清理操作的命令。它会删除所有的".o"目标文件和"main"可执行文件。

使用这个Makefile,通过运行`make`命令来编译和链接你的源代码文件,生成"main"可执行文件。可以运行`make clean`来清理中间文件和可执行文件。

  • rm:是一个命令,用于删除文件。
  • -rf:是rm命令的选项,它告诉rm命令执行递归删除和强制删除,即使文件或目录是只读的或不存在。
  • *.o:通配符*.o匹配当前目录中的所有以".o"为扩展名的文件,通常是编译生成的目标文件。
  • main:这是要删除的另一个文件,通常是可执行文件。
二、具体代码

三、执行结果,保证add.c、add.h、main.c、Makefile在同一个目录下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值