当前位置: 首页 > wzjs >正文

网站开发学习流程机械设备做公司网站

网站开发学习流程,机械设备做公司网站,qq官网在线登录网页版,疗养院有必要做网站吗Makefile 详细指南:编写与使用 Makefile 是 C/C 项目中常用的自动化构建工具,它定义了项目的编译规则和依赖关系。下面我将详细介绍 Makefile 的编写和使用方法。 一、Makefile 基础 1. 基本结构 一个典型的 Makefile 包含以下部分: mak…

Makefile 详细指南:编写与使用

Makefile 是 C/C++ 项目中常用的自动化构建工具,它定义了项目的编译规则和依赖关系。下面我将详细介绍 Makefile 的编写和使用方法。

一、Makefile 基础

1. 基本结构

一个典型的 Makefile 包含以下部分:

makefile

复制

下载

target: dependenciescommand
  • target:通常是生成的文件名,也可以是一个动作名称(伪目标)

  • dependencies:生成 target 所需的文件或其它 target

  • command:需要执行的命令(必须以 Tab 开头)

2. 简单示例

makefile

复制

下载

hello: hello.cgcc hello.c -o hello

二、Makefile 核心语法

1. 变量定义与使用

makefile

复制

下载

CC = gcc
CFLAGS = -Wall -O2
TARGET = program$(TARGET): main.c utils.c$(CC) $(CFLAGS) main.c utils.c -o $(TARGET)

2. 自动变量

  • $@:当前目标名

  • $<:第一个依赖项

  • $^:所有依赖项

  • $?:比目标新的依赖项列表

makefile

复制

下载

program: main.o utils.o$(CC) $^ -o $@main.o: main.c$(CC) $(CFLAGS) -c $< -o $@utils.o: utils.c$(CC) $(CFLAGS) -c $< -o $@

3. 通配符与模式规则

makefile

复制

下载

# 匹配所有.c文件
SRCS = $(wildcard *.c)
OBJS = $(SRCS:.c=.o)%.o: %.c$(CC) $(CFLAGS) -c $< -o $@

4. 函数

常用函数:

  • $(wildcard pattern):文件列表

  • $(patsubst pattern,replacement,text):模式替换

  • $(shell command):执行 shell 命令

makefile

复制

下载

SRCS = $(wildcard src/*.c)
OBJS = $(patsubst src/%.c,obj/%.o,$(SRCS))

三、完整项目示例

makefile

复制

下载

# 编译器设置
CC = gcc
CFLAGS = -Wall -Wextra -O2
LDFLAGS = -lm# 目录设置
SRCDIR = src
OBJDIR = obj
BINDIR = bin# 文件设置
TARGET = $(BINDIR)/program
SRCS = $(wildcard $(SRCDIR)/*.c)
OBJS = $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SRCS))# 默认目标
all: $(TARGET)# 链接目标
$(TARGET): $(OBJS) | $(BINDIR)$(CC) $(LDFLAGS) $^ -o $@# 编译规则
$(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR)$(CC) $(CFLAGS) -c $< -o $@# 创建目录
$(BINDIR) $(OBJDIR):mkdir -p $@# 清理
clean:rm -rf $(OBJDIR) $(BINDIR)# 伪目标声明
.PHONY: all clean

四、Makefile 使用

1. 基本命令

  • make:执行第一个目标(通常是 all)

  • make target:执行指定目标

  • make clean:执行清理操作

  • make -n:显示但不执行命令(干跑)

  • make -j4:使用 4 个线程并行编译

2. 常用选项

  • -B:强制重新编译所有目标

  • -C dir:切换到指定目录后执行

  • -f file:指定使用的 Makefile 文件

五、高级技巧

1. 条件判断

makefile

复制

下载

ifeq ($(DEBUG),1)CFLAGS += -g -DDEBUG
elseCFLAGS += -O2
endif

2. 包含其他 Makefile

makefile

复制

下载

include config.mk

3. 自动依赖生成

makefile

复制

下载

DEPFLAGS = -MMD -MP
CFLAGS += $(DEPFLAGS)-include $(OBJS:.o=.d)

六、最佳实践

  1. 使用变量存储常用命令和参数

  2. 将中间文件与源文件分离

  3. 为每个子目录创建单独的 Makefile

  4. 使用 -include 包含依赖文件

  5. 声明 .PHONY 目标

  6. 添加 help 目标说明用法

makefile

复制

下载

.PHONY: help
help:@echo "Usage: make [target]"@echo ""@echo "Targets:"@echo "  all     Build the program (default)"@echo "  clean   Remove generated files"@echo "  help    Show this help message"

通过以上内容,你应该能够编写和使用 Makefile 来管理 C 语言项目了。Makefile 的灵活性很高,可以根据项目需求进行调整和扩展。


文章转载自:

http://ifyEX2SI.pbzgj.cn
http://ZbXmSSNx.pbzgj.cn
http://0d4cuhAR.pbzgj.cn
http://BWfzBdop.pbzgj.cn
http://DmqCjGNw.pbzgj.cn
http://23ZhH4Zh.pbzgj.cn
http://CdVwKv9K.pbzgj.cn
http://JjegQPsx.pbzgj.cn
http://Ttk91DqV.pbzgj.cn
http://lEzWZuoA.pbzgj.cn
http://b4X7hA36.pbzgj.cn
http://yAKKszjc.pbzgj.cn
http://gi4HxGsx.pbzgj.cn
http://k2lFand5.pbzgj.cn
http://pph5enWf.pbzgj.cn
http://kzeO4txC.pbzgj.cn
http://BUOIyAmA.pbzgj.cn
http://QYQGvGkY.pbzgj.cn
http://vfhGuf4m.pbzgj.cn
http://d32SSuOU.pbzgj.cn
http://WCFJekN7.pbzgj.cn
http://5Y5QpEzU.pbzgj.cn
http://0G4NqC1k.pbzgj.cn
http://e38S8DIr.pbzgj.cn
http://2ijAghY8.pbzgj.cn
http://hImKzIqa.pbzgj.cn
http://W8Ydzask.pbzgj.cn
http://7z62Rw2i.pbzgj.cn
http://aVY4JDVH.pbzgj.cn
http://UJQ49f2w.pbzgj.cn
http://www.dtcms.com/wzjs/640171.html

相关文章:

  • 数据库查询网站建设wordpress菜单使用2层
  • 手机网站是怎么制作的特色网站设计
  • 网站设置访问密码做网站时应该用什么软件
  • 怎么写公司网站的文案安卓手机应用商店
  • 网站建设需要什么硬件和软件有哪些方面电商网站建设考试
  • 国外怎么做直播网站吗html5教程视频教程
  • 连云港建设公司网站黑龙江建设网官方网站三类人员
  • 网站开发外包报价建网站中企动力
  • 网站建设网站公司哪家好苏华建设集团有限公司网站
  • 漫画驿站网页设计图纸尺寸图怎么备案域名
  • 淮安网站建设优化可以做数理化的网站
  • 九亭微信网站建设wordpress 百度提交
  • 宠物之家网站开发wordpress排除置顶文章
  • 厦门市海沧区建设局网站WordPress开通用户投稿功能
  • 百度上搜不到做的网站网站开发的软件介绍
  • 在网站开发中如何设置用户登录西宁网站设计企业
  • 手机网站开发+手机模拟器刷关键词排名系统
  • 怎么做企业网站上虞区驿亭镇新农村建设网站
  • 水库信息化网站建设wordpress手机版使用
  • 网站开发人员培训家用宽带怎样做网站服务器
  • 哪个网站可以找到毕业设计快递网站制作
  • 西安正规网站建设公司php培训
  • 做网站办什么类型营业执照网站建设的教材
  • 河南教育平台网站建设杭州公司官方网站制作
  • 临沂网站建设门户网站 建设商 排名
  • 明星个人网站设计恢复被百度k网站 关键词收录
  • 做电影网站量刑标准企业网站建设的缺点
  • 昆明做网站建设多少钱佛山建网站哪家好
  • 系统难还是网站设计难做网站空间需要续费
  • 网站建设 单一来源wordpress 外链接口