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

做平面设计素材的哪个网站好广告推广怎么找客户

做平面设计素材的哪个网站好,广告推广怎么找客户,如何在百度推广自己的产品,做项目的招聘网站本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 makefile文件与语法规则 make指令与执行逻辑 makefile任务刷新策略 .PHONY修饰为伪目标 最后 前言 会不会写makefile,从一个侧面…

  

本文已收录至《Linux知识与编程》专栏!
作者:ARMCSKGT
演示环境:CentOS 7 

   


目录

前言

正文 

makefile文件与语法规则

make指令与执行逻辑

makefile任务刷新策略

.PHONY修饰为伪目标

最后


前言

会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的,规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建


正文 

makefile是一个围绕依赖关系和依赖方法构建的一个自动化编译工具!


makefile文件与语法规则


make指令的执行是以makefile文件存在为基础的,如果没有makefile则make指令无法执行!

没有makefile文件make指令被迫停止

 makefile文件中写入任务,这些任务是由依赖关系+依赖方法构成和实现的!

依赖关系 = 目标对象 + 执行文件(执行对象)

依赖方法:处理执行对象产生目标对象的方法!


makefile语法格式:

目标对象:执行文件(执行文件) //依赖关系依赖方法(实现方法) //一般方法前面空格

 如图,exe可执行程序的产生依赖与test.c文件,而exe可执行程序的产生方法(也就是依赖方法)是利用gcc去编译并自定义名称为exe最终产生exe可执行程序,这样就完成了一个任务的构建,一个makefile文件中可以写很多任务

  

当然有些目标对象可能不需要执行文件这种半缺失的任务写法也是合理的,,例如我们自己写的clean清理任务,实现自动化清理产生的可执行程序exe同时也可以有多个执行文件(多个执行文件之间使用隔开),例如声明与定义分离时我们需要所有文件一起编译产生可执行程序

  

所以目标对象并不是一定会产生(或者说目标对象只是为了达成某种目的)可以说目标对象也是任务名!执行这个任务可能会产生对象,具体的看任务的目的和实现方法,而且产生的对象名也不一定和目标对象相同,也可以不同!这个可以依据个人喜好和公司规定进行设置!

  

这样每次我们修改完代码,就可以使用make指令进行exe程序的编译,测试完后立刻清除,在以后的项目编写中会有很多个任务,如果一句一句的通过指令执行效率太低,所以我们会经常使用到makefile提高效率!


make指令与执行逻辑


make调用makefile中的某一条任务指令:

make [目标对象]

make调用目标对象任务后会生成目标对象,并显示执行的方法(命令)!

 注意:如果我们执行make指令还没没有写目标对象,则make会默认执行makefile文件中第一个任务,后面的其他任务不会执行!只有我们使用make指令并指定任务的目标对象make才会执行指定的任务产生目标对象!


可能会有人想到说,makefile文件如果写成Makefile会有影响吗?两个都存在怎么办?

makefile和Makefile两个文件都可以被make指令识别和执行,当两个文件都存在时make会优先选择makefile文件去执行!


如果我们的make指令在执行方法,发现执行文件不存在时会在文件中向下在其他任务中去寻找,找到了则先执行对应任务获取自己所需要的执行文件,然后再执行本任务!其中的原理是依赖栈实现的,所以类似于函数调用,一层一层开辟栈帧。

 当然,在过程中产生的所需目标对象也会保留在目录中!

 makefile中依赖方法也不一定只能写一句,可以写多句,例如我们不需要预处理编译等文件,可以产生对象并使用后就立刻删除,而且所以这么多逻辑可以规整为一个依赖方法!


makefile任务刷新策略


在makefile中,如果目标任务的执行可以产生目标对象,则执行文件如果没有修改,再次执行make指令会报错,因为make会判断文件是否被修改(判断修改时间),如果被修改才允许更新目标对象!

 这时如果我们对源文件进行修改,或者touch一下修改源文件的修改时间就能再次使用make指令!


 .PHONY修饰为伪目标


.PHONY是makefile文件中的一个关键字,表示对某个目标对象产生伪目标,这样无论目标对象的执行文件是否被修改,都可以重复执行这个任务!

被.PHONY修饰的任务可以无视任务刷新策略,重复执行这个任务!

 

这个关键字一般用来修饰clean清理任务!我们每次生成可执行程序,再删除,重复执行是非常合理的;当然其他场景下如果需要也可以修饰!


最后

makefile的知识介绍到这里就结束了,相信了解完的朋友们一定有了很多套make任务列表来加速自己的开发;通过makefile极大的提高了我们的开发效率,是我们不可缺少的工具之一!

本次Linux编译器gcc/g++的基本知识就介绍到这里啦,希望能够尽可能帮助到大家。

如果文章中有瑕疵,还请各位大佬细心点评和留言,我将立即修补错误,谢谢!

 🌟其他文章阅读推荐🌟

Linux基础指令-CSDN博客

Linux权限的基本知识-CSDN博客

Linux编辑器vim-CSDN博客

🌹欢迎读者多多浏览多多支持!🌹

http://www.hkea.cn/news/217160/

相关文章:

  • 网站的导航用css怎么做网站外链查询
  • 青岛模版网站建设关键词优化按天计费
  • 高端网站建设服务器seo服务哪家好
  • 服装网站建设分析网站浏览器
  • 建站城企业邮箱怎么开通注册
  • html做动态网站cms
  • 一个网站建设需要多少钱百度seo排名优化公司
  • 网站做app的软件友博国际个人中心登录
  • 做网站用什么代码编写可口可乐软文营销案例
  • 宜昌网站建设哪家好厦门百度广告开户
  • 网站做二级域名外链
  • 网站建设服务费属于哪个大类电商seo搜索优化
  • 12380网站建设情况的报告网络seo首页
  • 个人如何在百度上做广告网站seo什么意思
  • java做网站编程合肥seo快排扣费
  • 做律师网站公司google play下载
  • 网站怎么做详情页北京网站制作建设公司
  • 广告网站模板下载不了东莞排名优化团队
  • 网站建设人员培训纲要河北seo网络推广
  • jsp网站开发实例视频教程各大网站的网址
  • 手机网站设计要素推广竞价
  • 久久医药网seo推广培训费用
  • 网站做301顶级域名需要绑定网站排名掉了怎么恢复
  • wordpress app 源码合肥seo整站优化网站
  • 建立网站基本步骤安仁网络推广
  • 网页建设方案怎么写网站seo优化心得
  • 还没有做网站可以先备案域名吗seo怎么提升关键词的排名
  • 做网站原型图软件优化设计七年级下册语文答案
  • 2023年舆情分析报告seo优化宣传
  • 武汉网站建设 熊掌号最佳磁力引擎吧