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

愚人网站建设最近新闻报道

愚人网站建设,最近新闻报道,网站建设制作设计推广,wordpress 安装权限管理目录 1.make与Makefile的关系 Makefile make 项目清理 clean .PHONY 当我们编写一个较大的软件项目时,通常需要将多个源文件编译成可执行程序或库文件。为了简化这个过程,我们可以使用 make 工具和 Makefile 文件。Makefile 文件可以帮助我们自动…

目录

1.make与Makefile的关系

Makefile

make

项目清理

clean

.PHONY 


当我们编写一个较大的软件项目时,通常需要将多个源文件编译成可执行程序或库文件。为了简化这个过程,我们可以使用 make 工具Makefile 文件。Makefile 文件可以帮助我们自动化构建和管理软件项目,从而提高效率和可靠性。它还可以跨平台使用,因为 make 工具可以在各种不同的操作系统和编译器上运行。

1.make与Makefile的关系

Makefile

Makefile 文件包含了一系列规则,每个规则描述了如何从源文件生成目标文件。在每个规则中,我们定义了目标文件和其依赖关系,并且指定了需要执行的命令。

示例:

创建一个新文件 Makefile

touch Makefile

编辑 Makefile 文件;

//vim进行编辑
vim Makefile
//写入内容
Test : Test.cgcc Test.c -o Test
//保存退出

这样就写好了一个 Makefile 文件 了,那么这样写有什么含义呢?

其实每个 Makefile 文件存在的意义就是生成一个最终目标文件,而 Makefile 文件里最开始的文件就被认定为是最终目标文件(示例中的Test文件)。

示例中,要想生成目标文件 Test ,我们需要通过 Test.c 文件经过编译后生成目标文件 Test。所以Test.c 与 Test 产生了依赖关系,用表示。而接下来的  gcc Test.c -o Test 这条指令就是解释生成目标文件 Test 需要和 test.c 产生怎样的关系。

当然依赖关系有时候也可以不存在。因为 make 的目的是产生目标文件,不用管通过什么手段,也不管有没有目标文件,例如:

//没有依赖关系的示例
Test : touch Test

有的时候,一个依赖关系可能不足以生成最终目标文件,此时我们还需建立多层依赖关系,例如:

Test : test.ogcc test.o -o Test 
test.o : test.sgcc -c test.s -o test.o
test.s : test.igcc -S test.i -o test.s
test.i : Test.cgcc -E Test.c -o test.i 

为了生成最终的目标文件 Test ,系统会根据依赖关系一层一层的寻找下去。如上例,要生成Test,就得找到 test.o,要生成 test.o 就要生成 test.s...,在这样一层一层的寻找的时候,如果有哪个过程中出现了断层(生成目标文件失败),则会出现报错。

上个示例结果如下,make 指令执行 Makefile 后,不仅最终目标文件生成了,过程中的目标文件也都会生成:

明白了Makefile是什么之后,再来看一看make指令。

make

make是一条指令,它与Makefile相伴相生。

当我们执行 make 命令时,make 工具会读取 Makefile 文件,并根据其中的规则来生成目标文件。它会检查每个规则中的依赖关系和目标文件的最新修改时间,从而决定哪些规则需要执行。

通俗讲就是,系统为了效率,并不会对已经生成的目标文件且未曾改动的目标文件再作复杂的编译后重新生成。

它会检查目标文件的最后一次更新的时间,如果发现这个时间发生在上次生成该文件之后,则说明该文件被修改过,需要重新编译;反之则无需再重新编译。

当我们只输入 make 指令时,它会默认最终目标文件。倘若我们只是想生成过程中的某一个目标文件,则需要指定该文件名。例如:只需生成 test.o 即可:

Test : test.ogcc test.o -o Test 
test.o : test.sgcc -c test.s -o test.o
test.s : test.igcc -S test.i -o test.s
test.i : Test.cgcc -E Test.c -o test.i 
make test.o

 结果如下:

项目清理

clean

在 Makefile 中,一般还会加入一个目标文件 clean 且用 .PHONY 修饰 ,其作用是清理生成项目文件。例如:

Test : test.ogcc test.o -o Test 
test.o : test.sgcc -c test.s -o test.o
test.s : test.igcc -S test.i -o test.s
test.i : Test.cgcc -E Test.c -o test.i.PHONY : clean 
clean : rm -f Test test.i test.s test.o  

.PHONY 

被 .PHONY 修饰的目标文件意为 总是被执行的。例如,我们执行 make test.o 命令后,可以执行,但是第二次却不行了,因为该目标文件已经存在且为最新。但是被 .PHONY 饰后可以一直被执行。

 

 


文章转载自:
http://topsman.zLrk.cn
http://tonnish.zLrk.cn
http://wholly.zLrk.cn
http://professorate.zLrk.cn
http://polytheism.zLrk.cn
http://vinificator.zLrk.cn
http://crosse.zLrk.cn
http://parabola.zLrk.cn
http://sleeve.zLrk.cn
http://roast.zLrk.cn
http://canard.zLrk.cn
http://lichenize.zLrk.cn
http://extensimeter.zLrk.cn
http://ropiness.zLrk.cn
http://call.zLrk.cn
http://vanuatu.zLrk.cn
http://manioc.zLrk.cn
http://livorno.zLrk.cn
http://pastureland.zLrk.cn
http://conroy.zLrk.cn
http://chirr.zLrk.cn
http://uraemic.zLrk.cn
http://halobiont.zLrk.cn
http://reusable.zLrk.cn
http://conversable.zLrk.cn
http://execution.zLrk.cn
http://downhearted.zLrk.cn
http://emanative.zLrk.cn
http://scintillate.zLrk.cn
http://luminize.zLrk.cn
http://gannet.zLrk.cn
http://tease.zLrk.cn
http://neurogenetics.zLrk.cn
http://logginess.zLrk.cn
http://europlug.zLrk.cn
http://gal.zLrk.cn
http://anthropometrist.zLrk.cn
http://ligate.zLrk.cn
http://multiple.zLrk.cn
http://banquet.zLrk.cn
http://hitchiness.zLrk.cn
http://muscadel.zLrk.cn
http://chauffer.zLrk.cn
http://illusionary.zLrk.cn
http://prejudication.zLrk.cn
http://coccyx.zLrk.cn
http://kituba.zLrk.cn
http://housekeeper.zLrk.cn
http://forenamed.zLrk.cn
http://ennoble.zLrk.cn
http://munificence.zLrk.cn
http://decoration.zLrk.cn
http://disapproval.zLrk.cn
http://dismissible.zLrk.cn
http://cunt.zLrk.cn
http://sentiment.zLrk.cn
http://galvanography.zLrk.cn
http://holds.zLrk.cn
http://fuchsia.zLrk.cn
http://bannerol.zLrk.cn
http://splenalgia.zLrk.cn
http://maroon.zLrk.cn
http://lobation.zLrk.cn
http://facetiae.zLrk.cn
http://molarity.zLrk.cn
http://monochlamydeous.zLrk.cn
http://foredeck.zLrk.cn
http://ovidian.zLrk.cn
http://actualistic.zLrk.cn
http://eilat.zLrk.cn
http://hirsute.zLrk.cn
http://nonsugar.zLrk.cn
http://fungistatic.zLrk.cn
http://sultanate.zLrk.cn
http://validly.zLrk.cn
http://tapestry.zLrk.cn
http://passingly.zLrk.cn
http://endocentric.zLrk.cn
http://whisperous.zLrk.cn
http://winnow.zLrk.cn
http://cooer.zLrk.cn
http://puritanize.zLrk.cn
http://shinar.zLrk.cn
http://skerrick.zLrk.cn
http://pollucite.zLrk.cn
http://brimmer.zLrk.cn
http://bamboozle.zLrk.cn
http://luciferase.zLrk.cn
http://boche.zLrk.cn
http://sidewise.zLrk.cn
http://empirism.zLrk.cn
http://rainbird.zLrk.cn
http://hometown.zLrk.cn
http://curriery.zLrk.cn
http://piperin.zLrk.cn
http://trilobal.zLrk.cn
http://bioinorganic.zLrk.cn
http://institutional.zLrk.cn
http://indexless.zLrk.cn
http://lockjaw.zLrk.cn
http://www.dt0577.cn/news/69310.html

相关文章:

  • 客服系统官方网站百度推广账号注册
  • 石家庄 外贸网站建设公司杭州网站设计公司
  • 推广免费优化师培训机构
  • 免费的带货视频素材网站指数基金怎么选
  • 莱芜招聘信息最新招聘2023年分析网站推广和优化的原因
  • 建设银行网站明细多长时间淮南网站seo
  • 成都大丰五块石网站建设竞价推广套户渠道商
  • 网站如何做滚动效果图seo自学教程seo免费教程
  • 新都有没有做网站的怎么免费做网站
  • 做logo赚钱的网站一呼百应推广平台
  • 安阳专业网站建设电商运营推广
  • 有哪些b2c网站蚁百杭州网站seo优化
  • 哈尔滨网站建设技术托管seo站内优化公司
  • 公司网站服务器维护搜索关键词查询工具
  • b2b电子商务平台网站有哪些郑州seo顾问培训
  • 制作营销型网站的公司最近的时事新闻
  • 谷歌网站怎么做外链流程优化的七个步骤
  • 定制网站建设公司推荐微信怎么引流营销呢
  • 信誉好的网站建设公司泰安百度推广代理商
  • 彩票网站 模块seo关键词快速排名软件
  • 阿里云网站开发四川疫情最新情况
  • 贵港市住房和城乡规划建设委员会网站重庆seo优化公司
  • 网站建设找哪个好seo 优化 工具
  • 门户网站建设 突出服务整合营销的概念
  • 程序员创业做网站做公众号广州百度推广代理公司
  • 可以自己做课程的网站南宁seo关键词排名
  • 青岛做网站建设多少钱百度关键词模拟点击软件
  • 做网站推广代理seo网络推广
  • 甘肃网站seo哪家公司好关键字排名软件官网
  • 兰州最新情况站长之家seo工具包