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不生成对应的文件


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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 越狱软件源

    越狱软件源全部内容来源于网络。不对其内容的安全性负责,本人不承担任何责任。使用任何内容即表示同意此内容。软件源地址ios6五百年源apt.so/ios6vxios6分享源apt.feng/eq2wowMK越狱源apt.so/mksscc盗版暗影apt.so/anyinkeji杀手源apt.so/tanyao正版暗影apt.so/anyinkj…

    2022年6月9日
    78
  • InvocationHandle的invoke方法[通俗易懂]

    InvocationHandle的invoke方法[通俗易懂]在学习代理模式中接触到了动态代理的相关内容,这是AOP的核心内容。先用一个例子说明动态代理的使用//接口(动态代理只能代理接口)publicinterfaceSubject{publicvoidrequest();}//接口实现:实现了Subject的request()方法publicclassRealSubjecti

    2022年5月30日
    35
  • ipad写python代码用什么软件_iPad 能用来写代码吗?有哪些必备软件推荐?[通俗易懂]

    ipad写python代码用什么软件_iPad 能用来写代码吗?有哪些必备软件推荐?[通俗易懂]如果写Python我推荐pythonista,68软。pythonista还是比较基本的,文件夹,管理文件都有了。基础的代码提示也有,但是不能自动补全,要手点一下。建议买个蓝牙外设键盘,iPadpro官配的好使,这样就是一个准笔记本了。为啥说是准笔记本呢,因为iOS的应用协同太差了。git用workingcopy,编辑调试用pythonista,然后把新的从pythonista考到workin…

    2022年5月7日
    169
  • 收集了三年的最好的设计站点

    收集了三年的最好的设计站点

    2021年11月15日
    39
  • JS中Class类的详解

    JS中Class类的详解概述    在ES6中,class(类)作为对象的模板被引入,可以通过class关键字定义类。它可以被看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。    类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。严格模式    类和模块的内部,默认就是严格模式,所以不需要使用usestrict指定运行模式…

    2022年6月2日
    49
  • Pytest(6)重复运行用例pytest-repeat[通俗易懂]

    Pytest(6)重复运行用例pytest-repeat[通俗易懂]前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

    2022年7月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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