phony 详解_phoning翻译

phony 详解_phoning翻译phony详解1:一个目标,可以产生target文件,也可以不产生target文件echo目标就不产生echo文件不产生文件,则每次makeecho。都将执行recipe。因为make总是妄图产生一个比temp更新的target–echo文件。echo:temp@echo”$(shellls-ltemp)”2:一个目标,可以

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

phony 详解

1: 一个目标,可以产生target文件,也可以不产生target文件

echo目标就不产生echo文件

不产生文件,则每次make echo。都将执行recipe。

因为make总是妄图产生一个比temp更新的target–echo文件。

echo: temp


@echo “$(shell ls -l temp)”



2:一个目标,可以有依赖,也可以没有依赖。

clean目标,就没有依赖。

没有依赖,有2种情况。

一个是target是个文件,则target永远是最新的。target的recipe永远不会被执行。(参见3)

一个是target不能被make生成,则target的recipe永远要执行。(参见1)

clean就是一个没有文件的taget,则make clean需要每次执行recipe。

clean:


rm *.o

如果目录下面,恰好有个文件叫做clean

则clean永远是最新的。make clean每次都不会执行任何动作。

3: 为防止target和目录下面文件重名,则引入.PHONY: 就是让目标永远执行。

PHONY的意义就是,这个目标对应的文件是不需要生成的。只是为了执行一组动作。

就算有和target重名的文件,也忽略不管。

4: 改善性能

已知phony 目标并非是由其它文件生成的实际文件,make 会跳过隐含规则搜索。这就是声明phony 目标会改善性能的原因,即使你并不担心实际文件存在与否。

也就是说对于phony目标,make会乖乖的执行recipe,不会去管隐含规则那一套。因为它知道,对于phony目标。目的就是为了执行recipe. 不是妄图产生什么文件,或者中间文件。


5: PHONY使用2个必要条件


target没有依赖

target不生成对应的文件


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215557.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一码中_amp是什么意思

    一码中_amp是什么意思每日一码将每天看到的优秀的代码或者特别的实现,记录下来a&b赋值问题_2019218_Q&Aa.x//这时a.x的值是多少?b.x//这时b.x的值是多少

  • C#文件和文件夹输入输出流代码

    1、建立一个文本文件1publicclassFileClass2{3publicstaticvoidMain()4{5WriteToFile();6}7stati

    2021年12月21日
  • javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法

    javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法关于js中的offsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些方法的用法和含义。注意:下面元素属性和元素方法都通过elem.属性或elem.方法的方式使用,window属性通过window.属性的方式使用,document属性则通过document调用。<script>/*…

  • Informatica ETL开发入门实例

    Informatica ETL开发入门实例Informatica客户端工具:5个Designer——定义源及目标结构设计转换规则,生成ETL映射RepositoryManager——元数据资料库,依赖性分析,安全性管理等RepositoryServerAdministratorConsole——Repository的建立与维护WorkflowManager——合理的实现复杂的ETL工作流基于时间或事件的作业高度WorkflowMonitor——监控workflow和session,生成工作日志及报告…

  • 学习opencv之cvtColor

    opencv提供了cvtColor()函数,用于在图像中不同的色彩空间进行转换,用于后续处理。在使用cvtColor之前首先需要了解下基本的图像色彩模式,色彩模式决定了打印或显示的图片颜色。图像色彩模式位图模式位图模式是图像中最基本的格式,图像只有黑色和白色像素,是色彩模式中占有空间最小的,同样也叫做黑白图,它包含的信息量最少,无法包含图像中的细节,相当于只有0或者1一副彩色图如…

  • Eclipse之代码自动保存设置

    Eclipse之代码自动保存设置Eclipse之代码自动保存设置

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号