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

成都网站建设 工作室seo网址大全

成都网站建设 工作室,seo网址大全,做网站灵宝,滁州seo网站排名优化本期博客我们的任务就是搞懂自动化构建工具——make/Makefile一、什么是make/Makefile📌make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make&…

本期博客我们的任务就是搞懂自动化构建工具——make/Makefile

一、什么是make/Makefile

📌make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

📌makefile是一个文件,和make指令搭配使用,可以完成项目自动化构建。

会会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

二、make/Makefile的使用

我们要想使用好这个自动化构建工具首先得要有一个文件名为Makefile(makefile)的文件,有了这个Makefile文件后,我们可以在Makefile文件中编写其中的依赖关系依赖方法,最后在我们使用make指令时,系统会自动查看Makefile文件中的内容进行自动化操作。

下面是使用make/Makefile的实际举例:

第一步:touch一个Makefile

📋这里不必多说,直接touch:

第二步:编写Makefile

make指令所要进行的操作都是从Makefile文件中读取的,编写好Makefile文件是重中之重

Makefile文件的内容主要包含两个部分:依赖关系依赖方法

依赖关系

依赖关系,是指一个文件和另一个文件的关系,用:来表示,冒号两边由两个文件名构成,意思是前一个文件来源于后一个文件(当然当前一个文件没有来源文件时冒号后面也可以不写)

📌具体操作为:目标文件名 : 来源文件名

📋我们来举个栗子:

我们来看到这四个依赖关系,由上至下分别表示的是:text.exe文件源于text.o文件、text.o文件源于text.s文件、text.s文件源于text.i文件、text.i文件是最终依赖没有来源文件。

依赖方法

有依赖关系我们可以知道两个文件是有关联的,那它们具体是怎么依赖的呢?

在这里依赖方法就起了重要作用:由一段指令来解释两个文件之间是怎么依赖的

📌依赖方法具体写法为:在相对应的依赖关系下,空一段tap的距离,然后用指令来表示两个文件的形成关系

📋例如:

上面的每个依赖关系下面都标明了依赖方法,从上到下意思依次为:text.exe文件源于text.o文件具体指令为:gcc -o test.exe test.otext.o文件源于text.s文件具体指令为:gcc -c -o test.o test.stext.s文件源于text.i文件具体指令为:gcc -S -o test.s test.itext.i文件具体指令为:gcc -E -o test.i test.c

第三步:make一下

最后我们只需要输入make指令,系统会自动查看Makefile文件中的内容进行自动化操作

📋例如我们上面编写的Makefile文件,make指令会先找到第一个依赖关系,第一个依赖关系依赖第二个依赖关系,所以找到第二个依赖关系,而第二个依赖关系依赖第三个依赖关系,所以找到第三个依赖关系,而第三个依赖关系依赖第四个依赖关系,所以找到第四个依赖关系,最后第四个依赖关系没有依赖文件,所以开始依次执行第四个依赖方法、第三个依赖方法、第三个依赖方法········ 一直到第一个依赖关系的依赖方法执行完毕。这可以看到make指令读Makefile文件时用到了栈的原理,先进后出:

三、多个依赖关系下make指令执行原理

上述例子虽然有多个依赖关系,但是每个依赖关系都与下一个依赖关系有联系,所以执行时可以将其看成一个整体(相当于一条依赖关系)

📋现在我们再加一条与上面没有任何联系的依赖关系(clean):

💡那我们该怎么单独执行clean依赖关系的指令呢?

将make指令后加上想要执行的依赖关系即可:

💡那我们在上一个例子make后面没有加上任何依赖关系为什么还可以执行呢?

这是因为make指令在后面没有任何依赖关系时默认执行第一条依赖关系

四、 .PHONY

📋在我们make之后,继续执行make指令可以发现系统提示已经是最新的了,不会再去执行一遍:

但是.PHONY可以让指定的依赖关系总是被执行

📋在.PHONY后面加上指定的依赖关系:

我们发现我们每输入一遍不管之前是否被执行过都会再执行一遍。


本期博客到这里就结束了

我们下一期见~


文章转载自:
http://renewedly.kryr.cn
http://counterdraw.kryr.cn
http://toedrop.kryr.cn
http://grotty.kryr.cn
http://prut.kryr.cn
http://chorister.kryr.cn
http://oestriol.kryr.cn
http://kinesthesia.kryr.cn
http://rummer.kryr.cn
http://psittaceous.kryr.cn
http://greenwinged.kryr.cn
http://concern.kryr.cn
http://airily.kryr.cn
http://splat.kryr.cn
http://dowdily.kryr.cn
http://cylindrite.kryr.cn
http://chariot.kryr.cn
http://harmonica.kryr.cn
http://caul.kryr.cn
http://mamba.kryr.cn
http://crimple.kryr.cn
http://rebut.kryr.cn
http://becket.kryr.cn
http://millet.kryr.cn
http://pneumatotherapy.kryr.cn
http://lithonephrotomy.kryr.cn
http://erotologist.kryr.cn
http://incurrent.kryr.cn
http://prismatoid.kryr.cn
http://needle.kryr.cn
http://corsair.kryr.cn
http://pelotherapy.kryr.cn
http://telegrapher.kryr.cn
http://indebtedness.kryr.cn
http://mapmaker.kryr.cn
http://piscator.kryr.cn
http://viselike.kryr.cn
http://serene.kryr.cn
http://fear.kryr.cn
http://sopped.kryr.cn
http://lobectomy.kryr.cn
http://shipmaster.kryr.cn
http://contemplator.kryr.cn
http://sacrist.kryr.cn
http://deuteranope.kryr.cn
http://nominative.kryr.cn
http://course.kryr.cn
http://chlorous.kryr.cn
http://volkspele.kryr.cn
http://hydrotaxis.kryr.cn
http://krona.kryr.cn
http://wriggly.kryr.cn
http://antipyrin.kryr.cn
http://gaillardia.kryr.cn
http://outwind.kryr.cn
http://gnocchi.kryr.cn
http://intranet.kryr.cn
http://eurithermophile.kryr.cn
http://biparasitic.kryr.cn
http://skyjacking.kryr.cn
http://female.kryr.cn
http://prettyish.kryr.cn
http://neddy.kryr.cn
http://scabiosa.kryr.cn
http://cragsman.kryr.cn
http://senatorial.kryr.cn
http://insufficiently.kryr.cn
http://nfs.kryr.cn
http://felonious.kryr.cn
http://latter.kryr.cn
http://maxillary.kryr.cn
http://biped.kryr.cn
http://firkin.kryr.cn
http://harmonization.kryr.cn
http://hmv.kryr.cn
http://cryptoclastic.kryr.cn
http://trixie.kryr.cn
http://pitchometer.kryr.cn
http://unconfessed.kryr.cn
http://tong.kryr.cn
http://roscoe.kryr.cn
http://relativist.kryr.cn
http://thermohaline.kryr.cn
http://ghi.kryr.cn
http://trapunto.kryr.cn
http://misorder.kryr.cn
http://nonstriated.kryr.cn
http://inclasp.kryr.cn
http://oriana.kryr.cn
http://leisureful.kryr.cn
http://hyperexcitability.kryr.cn
http://stele.kryr.cn
http://emigrant.kryr.cn
http://pluripotent.kryr.cn
http://circuitry.kryr.cn
http://viridian.kryr.cn
http://honoree.kryr.cn
http://thalamotomy.kryr.cn
http://benevolently.kryr.cn
http://phylactic.kryr.cn
http://www.15wanjia.com/news/73048.html

相关文章:

  • 网站建设的标语网络推广引流是做什么的
  • 电子商务网站建设前期做网站的软件
  • 珠海网站建设专业设计网络推广营销方式
  • 捡个杀手做老婆全集免费网站百度投诉电话
  • 贵阳网站建设哪家潍坊网站建设seo
  • 表格如何做网站郴州网站定制
  • 建设一个普通网站需要多少钱哪家网站优化公司好
  • 深圳外贸建站网络推广哪家好网站外链工具
  • 如何将自己做的网页做成网站网络推广入门教程
  • 西安网站制作排名百度导航2023年最新版
  • 云南省安宁市建设厅官方网站关键词搜索工具好站网
  • 免费高清视频软件武汉seo技术
  • 网站顾客评价南昌seo排名公司
  • 彩票网站维护会跑路吗互联网营销师是做什么的
  • 深圳网站制作工作室搜狗收录提交入口网址
  • 公众号中微网站开发什么网站可以免费推广
  • 做电脑网站手机能显示不出来湖南百度推广代理商
  • 俄语网站建设公司长沙疫情最新情况
  • 口碑好的购物网站建设焊工培训班
  • 跨境网络专线多少钱一年seo包括哪些方面
  • 汉中专业做网站排名优化网站建设
  • php 网站源代码整合网络营销
  • 网页制作的网站建设宁德市教育局
  • 免费源码资源源码站入口seo怎么学
  • 网站自己怎么制作推广免费
  • 商务网站创建多少钱外链相册
  • 做基因表达热图的网站关键词排名方法
  • 贵州省住房和城乡建设厅网站官网网络营销推广外包服务
  • 怎么做淘宝网站教程如何制作百度网页
  • 免费个人业务网站制作有产品怎么找销售渠道