[操作系统]Linux下make,makefile的使用

本文通过一个简单的示例介绍了如何使用Makefile组织和编译C语言程序。包括Makefile的基本语法、如何构建编译规则及依赖关系,并演示了当源文件更新时Makefile如何仅重新编译必要的部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做工程文件时,可将多个源程序一同编译,出一个可执行文件。
先看文件目录

ls
display.c  main.c 
#include<stdio.h>
void display(const char *str){
    printf("The str is %s",str);
}
#include<stdio.h>
int main(void){
    display("Hello Linux try update try secondly\n");
}

使用make 需要在文件夹中有makefile这个文件存在
那新建一个makefile

ls
display.c  main.c  makefile
//现在的文件目录

好 现在往makefile写配置信息

//最终目标 test
test: main.o display.o
    gcc -o test main.o display.o
main.o: main.c
    gcc -c main.c
display.o: display.c
    gcc -c display.c

规则
[target]: [依赖文件] [依赖文件] … …
[先打一个tab作为命令行的开始][命令]
向这么写 就可以相当于是使用 gcc -c 直接编译

最好执行一下 make

make
gcc -c main.c
main.c: In functionmain’:
main.c:3:2: warning: implicit declaration of functiondisplay’ [-Wimplicit-function-declaration]
  display("Hello Linux try update try secondly\n");
  ^
gcc -c display.c
gcc -o test main.o display.o

就出现了test文件 main.o display.o

display.c  display.o  main.c  main.o  makefile  test

现在看看执行./test 会出现什么

./test
The str is Hello Linux try update try secondly

好的 完美成功执行

现在看看 如果我改动 main.c 会有什么样的情况发生

vim main.c
make
gcc -c main.c
main.c: In functionmain’:
main.c:3:2: warning: implicit declaration of functiondisplay’ [-Wimplicit-function-declaration]
  display("Hello Linux try update try secondly try thirdly\n");
  ^

可以看到重新执行了gcc -c main.c

再看看结果

./test
The str is Hello Linux try update try secondly try thirdly

出现了如上结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值