makefile
Linux 配置#
c 编译器:gcc(属于GUN项目)
文本编辑器:gedit(TAB设置为4个空格)
Linux 操作回顾#
# 创建文件 c
gedit test.c
# 编译文件 c
gcc test.c -o test
# 直接运行文件 c
./test
makefile 使用例子#
test: test.c
gcc test.c -o test
注意细节:
- target(test)冒号右边有个空格
- 第二行第一个符号是 TAB 键
- 最后一行存在,且是空的
运行 makefile 文件直接在 cmd 中输入 make
即可
多个文件 h 和 c 一起编译#
main: main.c tool.o
gcc main.c tool.o -o main
tool.o: tool.c
gcc -c tool.c
clean:
remove *.o main
多个文件 h 和多个文件 c 一起编译#
.c 和 .h 分别代表实现和声明,如下:
// .c
#include<bar.h>
int find_min(int arr[] ,int n) {
int m = arr[0];
int i;
for (i=0; i<n; ++i) {
if(arr[i] < n)
m = arr[i];
}
}
// .h
int find_min(int arr[] ,int n);
makefile
CC = gcc
CFLAGS = -lm -Wall -g
all: main_max main_min
main_max: main_max.c tool.o
$(CC) $(CFLAGS) main_max.c tool.o -o main_max
main_min: main_min.c tool.o
$(CC) $(CFLAGS) main_min.c tool.o -o main_min
bar.o: bar.h
$(CC) $(CFLAGS) -c bar.c
tool.o: tool.c
$(CC) $(CFLAGS) -c tool.c
clean:
remove *.o main_max main_min
执行
make clean
make
ls
作者: 筱团
出处:https://www.cnblogs.com/CourserLi/p/15313273.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了