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

哪个网站专做二手相机wordpress图片间隔

哪个网站专做二手相机,wordpress图片间隔,青岛网站设计皆挺青岛,chn域名网站文章目录 一. Makefile作用二. Makefile组成和优势三. Makefile推导1. 第一阶段Makefile文件2. 第二阶段Makefile文件3. 第三阶段Makefile文件4. 第四阶段Makefile文件:5. 第五阶段Makefile文件 四. Makefile工作原理附录: 一. Makefile作用 makefile 带…

文章目录

  • 一. Makefile作用
  • 二. Makefile组成和优势
  • 三. Makefile推导
    • 1. 第一阶段Makefile文件
    • 2. 第二阶段Makefile文件
    • 3. 第三阶段Makefile文件
    • 4. 第四阶段Makefile文件:
    • 5. 第五阶段Makefile文件
  • 四. Makefile工作原理
  • 附录:

在这里插入图片描述

一. Makefile作用

makefile 带来的好处就是自动化编译,一但写好,只需要 make 命令,整个工程全完自动化编译,极大的提高了开发效率,make 是一个命令工具,是一个解释makefile 中指令的命令工具,一般来说,大多数 ide 都有这个命令 比如 vc++ 的 nmake, linux 下的 gnu 的 make

二. Makefile组成和优势

makefile组成三要素:目标,依赖, 命令

  targets(目标):prequisities(依赖)command(命令,command前面要有一个tab键)
  • 依赖(相当于原材料) -> 命令(加工)-> 目标(产物)

makefile优势:

  • 大量代码的关系维护

    大项目中源代码较多,手工维护 编译时间长而且编译命令复杂,把代码维护命令及编译命令写在 makefile 文件中,然后再用make 工具解析此文件自动执行相应命令 可实现合理编译

  • 减少重复编译时间

    在改动其中一个文件时,能判断哪些文件被修改过,可以只对该文件进行重新编译,然后重新链接所有的目标文件,节省编译时间

三. Makefile推导

目录结构:
在这里插入图片描述

1. 第一阶段Makefile文件

在这里插入图片描述
编译结果:
在这里插入图片描述

2. 第二阶段Makefile文件

使用变量
在这里插入图片描述

3. 第三阶段Makefile文件

自动推导
在这里插入图片描述

4. 第四阶段Makefile文件:

自动变量($^ $< $@)

具体意义如下:

 	> $@  : 目标文件 $^   : 所有依赖文件 $<   : 第一个依赖文件

如下:

在这里插入图片描述

5. 第五阶段Makefile文件

Makefile函数
wildcard函数查找文件下所有文件名
patsubst查找替换
在这里插入图片描述

四. Makefile工作原理

目标的生成: a. 检查规则中的依赖文件是否存在; b. 若依赖文件不存在,则寻找是否有规则用来生成该依赖文件。

在这里插入图片描述
比如上图中,生成calculator的规则是gcc main.o add.o sub.o mul.o div.o -o,Makefil会先检查main.o, add.o, sub.o, mul.o, div.o是否存在,如果不存在,就会再寻找是否有规则可以生成该依赖文件。

比如缺少了main.o这个依赖,Makefile就会在下面寻找是否有规则生成main.o。当它发现gcc main.c -o main.o这条规则可以生成main.o时,它就利用此规则生成main.o,然后再生成终极目标calculator。

整个过程是向下寻找依赖,再向上执行命令,生成终极目标。

目标的更新: a. 检查目标的所有依赖,任何一个依赖有更新时,就重新生成目标; b. 目标文件比依赖文件时间晚,则需要更新。

在这里插入图片描述
比如,修改了main.c,则main.o目标会被重新编译,当main.o更新时,终极目标calculator也会被重新编译。其它文件的更新也是类推。

附录:

gcc 命令的常用选项
在这里插入图片描述
经典Makefile

CC := g++  
CFLAGS := -g  
TARGET := test  
SRCS := $(wildcard *.cpp)  
OBJS := $(patsubst %cpp,%o,$(SRCS))  all:$(TARGET)  
%.o:%.cpp  $(CC) $(CFLAGS) -c $< -o $@ 
$(TARGET):$(OBJS)  $(CC) $(CFLAGS) -o $@  
clean:  rm -rf $(TARGET) *.o  

万能Makefile

####################################################
# Generic makefile - 万能Makefile
# for compiling and linking C++ projects on Linux 
# Author: George Foot  Modified:Jackie Lee
####################################################
### Customising
#
# Adjust the following if necessary; EXECUTABLE is the target
# executable's filename, and LIBS is a list of libraries to link in
# (e.g. alleg, stdcx, iostr, etc). You can override these on make's
# command line of course, if you prefer to do it that way.
#
#
EXECUTABLE := main    # 可执行文件名
LIBDIR:=              # 静态库目录
LIBS :=               # 静 态   库 文 件 名
INCLUDES:=.           # 头文件目录
SRCDIR:=              # 除了当前目录外,其他的源代码文件目录
#
# # Now alter any implicit rules' variables if you like, e.g.:CC:=g++
CFLAGS := -g -Wall -O3
CPPFLAGS := $(CFLAGS)
CPPFLAGS += $(addprefix -I,$(INCLUDES))
CPPFLAGS += -MMD
#
# # The next bit checks to see whether rm is in your djgpp bin
# # directory; if not it uses del instead, but this can cause (harmless)
# # `File not found' error messages. If you are not using DOS at all,
# # set the variable to something which will unquestioningly remove
# # files.
#RM-F := rm -f # # You shouldn't need to change anything below this point.
#
SRCS := $(wildcard *.cpp) $(wildcard $(addsuffix /*.cpp, $(SRCDIR)))
OBJS := $(patsubst %.cpp,%.o,$(SRCS))
DEPS := $(patsubst %.o,%.d,$(OBJS))
MISSING_DEPS := $(filter-out $(wildcard $(DEPS)),$(DEPS))
MISSING_DEPS_SOURCES := $(wildcard $(patsubst %.d,%.cpp,$(MISSING_DEPS))).PHONY : all deps objs clean veryclean rebuild infoall: $(EXECUTABLE)deps : $(DEPS)objs : $(OBJS)clean :@$(RM-F) *.o@$(RM-F) *.d
veryclean: clean@$(RM-F) $(EXECUTABLE)rebuild: veryclean all
ifneq ($(MISSING_DEPS),)
$(MISSING_DEPS) :@$(RM-F) $(patsubst %.d,%.o,$@)
endif
-include $(DEPS)
$(EXECUTABLE) : $(OBJS)$(CC) -o $(EXECUTABLE) $(OBJS) $(addprefix -L,$(LIBDIR)) $(addprefix -l,$(LIBS))info:@echo $(SRCS)@echo $(OBJS)@echo $(DEPS)@echo $(MISSING_DEPS)@echo $(MISSING_DEPS_SOURCES)

多级目录结构的Makefile

二级目录结构下的Makefile的写法参照 Linux编程工具-Makefile(二)

http://www.yayakq.cn/news/999040/

相关文章:

  • 关注公众号一单一结兼职app徐州自动seo
  • 手机网站永久免费制作手机网站如何做外链
  • 找深圳网站建设好用的建筑设计网站
  • 笑话网站源码带wap昆明网站制作的方法
  • 潮州专业网站建设报价公司网站建设的系统功能需求分析
  • 石家庄市网站制作linux上安装wordpress
  • 心理咨询师招聘广元网站建设优化
  • 长沙好的网站建设公司哪家好网站备案取消 后果
  • 上海网站建设y021可以用wpf做网站吗
  • 今天汽油价格seo 推广怎么做
  • 专业做网站建设公网站优化能发外链的gvm网站大全
  • 南宁高端网站wordpress 主机要求
  • 建设部网站技术负责人业绩表网站大全2021
  • 主题资源网站创建时 如何突出设计的特点平面设计公司简介
  • 网站代理什么意思seo课程培训学校
  • 如何进行公司网站的建设烟台百度网站
  • 网站建设 发短信文案鞍山58同城网
  • 网站维护与建设内容国外酷炫flash网站
  • WordPress添加PHP代码济南网站优化seo
  • 龙岗网站建设过程在合肥做网站前端月薪大概多少
  • 百度做的网站迁移wordpress 页面添加js
  • 网站弹出咨询这个怎么做抖音seo关键词优化怎么做
  • 网站入口首页哪个做砍价活动的网站好
  • 衡水网站建设格公司哈尔滨网站建设公司名字
  • 网站开发所需能力消防网站建设目标
  • dedecms网站地图插件怎么用nat做网站
  • 上海自助建站广州市新闻最新消息
  • 网站首页模板程序开发工程师
  • app和网站的区别是什么网址给我一个
  • 南京做网站团队wordpress显示浏览次数