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

wordpress视频播放关键词优化外包服务

wordpress视频播放,关键词优化外包服务,网站建设方案应该怎么做,英文在线购物网站建设简介‌: ‌ Makefile‌ 是一种用于自动化构建和管理软件项目的工具文件,通常与 make 命令配合使用。它通过定义‌规则‌(rules)来指定如何从源文件生成目标文件(如可执行程序或库),并自动…

简介‌:

‌        Makefile‌ 是一种用于自动化构建和管理软件项目的工具文件,通常与 make 命令配合使用。它通过定义‌规则‌(rules)来指定如何从源文件生成目标文件(如可执行程序或库),并自动处理文件之间的依赖关系。Makefile 的核心思想是“仅重新构建需要更新的部分”,从而显著提高编译效率。

一、基础语法快速入门

由目标(target)、依赖(prerequisites)、命令(commands)三部分组成,如

目标:依赖命令  # 命令前必须以 Tab 缩进app: main.o utils.o  gcc main.o utils.o -o app  #将main.o和utils.o联合编译成app
​
main.o: main.c gcc -c main.c -o main.o #将main.c编译生成main.o
​
utils.o:utils.cgcc -c utils.c -o utils.o #将utils.c编译生成utils.o
运行 make app触发编译流程,此时将会生成main.o、utils.o和可执行文件app。

二、变量和自动变量的使用

简化重复值(如编译器路径或 flags)和简化命令中的重复输入,如:

app: main.o utils.o gcc main.o utils.o -o app $@: 当前目标名(app)。
$^: 所有依赖(main.o utils.o)。
$<: 第一个依赖文件(main.o)。​#当然也可以替换为其他变量,类似于C语言中的变量+宏定义
CC = gcc
CFLAGS = -Wall -O2
OBJS = main.o utils.o#将main.c编译生成main.o
main.o: main.cgcc   -Wall -O2 -c main.c -o main.o   #第一种写法$(CC) $(CFLAGS) -c $<     -o $@       #第二种写法#将main.o和utils.o联合编译成app
app: main.o utils.o  gcc   main.o    utils.o -o app  	  #第一种写法$(CC) $(CFLAGS) $(OBJS) -o $@    	  #第二种写法$(CC) $(CFLAGS) $^      -o $@ 		  #第三种写法​

后缀替换:通过直接替换或者替换函数(如 wildcard, patsubst)简化操作:

# 获取所有 .c 文件
SRC = $(wildcard *.c)
# 将 .c 替换为 .o
OBJ = $(patsubst %.c, %.o, $(SRC))#直接后缀替换 将 .c 文件列表转为 .o文件列表
SRCS = main.c utils.c config.c
OBJS = $(SRCS:.c=.o)  #替换后结果:OBJS = main.o utils.o config.o

条件判断:一般用作不同的编译场景下,如:

ifeq ($(OS), Windows_NT)RM = del
elseRM = rm -f
endif或#FLAVOR = release
FLAVOR = debugifeq ($(FLAVOR),debug)TARGET_LDFLAGS += -g -O2
elif ($(FLAVOR),release)TARGET_LDFLAGS += -g -O0
endif

通过编译器生成头文件依赖关系,避免手动维护

CFLAGS += -MMD  # 生成 .d 依赖文件
-include $(OBJS:.o=.d)  # 包含所有依赖描述文件

多目录项目构建

  • 递归编译子目录:
SUBDIRS = driver user .PHONY: $(SUBDIRS) $(SUBDIRS): $(MAKE) -C $@ 

        # 进入子目录执行 make

使用 vpath 指定源文件搜索路径:

vpath %.c src:lib

         # 在 src 和 lib 目录中查找 .c 文件

变量与依赖调试

  • 打印变量值:
debug: @echo "源文件列表:$(SRCS)" # @ 抑制命令回显
  • 查看依赖树:
make -d | grep "Considering target"4。

并行编译加速

  • 启用多线程编译(如4线程):
make -j4

固件生成规则

添加生成 .bin 文件的规则:

firmware.bin: firmware.elfobjcopy -O binary $< $@  # 从 .elf 生成二进制固件

条件编译支持

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

三、伪目标 

定义不生成实际文件的操作(如 clean),需用 .PHONY 声明:

# 清理构建文件 .PHONY: clean
clean:rm -f *.o app

将生成的一些不需要的.o文件清理掉,此时并没有生成目标文件,所以用伪目标。

http://www.dtcms.com/wzjs/158926.html

相关文章:

  • 苏州吴江保洁公司济南搜索引擎优化网站
  • 甘肃网站建设推广为什么sem的工资都不高
  • it学校培训机构晨阳seo
  • 哪个网站兼职做设计比较好网站营销与推广
  • 公网主机上做的网站如果访问白酒营销策划方案
  • 诚信通旺铺网站建设市场推广方案模板
  • 专业微信网站建设公司首选公司哪里有网页设计公司
  • 购物网站建设方案徐州百度推广总代理
  • 更改wordpress最大上传文件大小seo是什么缩写
  • 电梯网站建设扬州网络推广哪家好
  • 辽宁省住房和城乡建设部网站主页相似图片在线查找
  • 营销网站建设是什么意思东莞网站推广哪里找
  • python网页编辑器短视频seo询盘系统
  • 武进建设局网站进不去互联网公司排名2021
  • 食品网站的功能定位电脑培训学校
  • 毕业论文网站开发需要多少钱桌面百度
  • 免费教做面食的网站seo优化思路
  • 在linux系统上用什么做网站百度推广手机版
  • 四川省建设厅职改办网站百度云app下载安装
  • 公众平台网站开发哪家好兰州网络推广关键词优化
  • 网站 做百度推广有没有效果怎样制作一个网站
  • 婚庆手机版网站建设百度指数大数据
  • 天津企业网站建设一条龙销售推广的方法都有哪些
  • 做调查问卷的网站可靠吗2022年网络流行语
  • python和php网站开发抖音关键词排名系统
  • 个人网站备案多少钱优化网站排名茂名厂商
  • 广西短视频运营是独立站seo推广
  • 网站可以先做代码么如何使用免费b站推广网站
  • 网站站外优化线上宣传的方式
  • 网络营销课程期末总结网站优化建议