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

【Linux】make是如何判断可执行文件是否需要重新编译呢?(ACM时间)

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶🔹C++
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

文章目录

  • 一、问题引入
  • 二、ACM时间
  • 三、make如何判断的呢?
    • 1.只是进行cat查看,修改了Access时间。不重新编译。
    • 2.使用vim修改。改动了Modify时间。重新编译。
  • 四、总结

一、问题引入

看下幅图:执行了四次make,有时会执行依赖方法,重新编译了,有时又不会变化。
在这里插入图片描述

首先我们应该清楚,make的这种机制是很好的,因为每编译一次,都会消耗资源与时间。所以,如果依赖文件内容如果没有发生变化的话,就应该保留上次的编译结果,不在重复执行,增加消耗。

二、ACM时间

首先,了解一下ACM时间是什么:
每一个文件都会有它的ACM时间,去记录它的时间信息。
在这里插入图片描述
make指令通过这个Modify时间来进行对比才能判断出是否需要重新编译。

三、make如何判断的呢?

演示一下:
在这里插入图片描述
此时使用make就会,显示make: `mytest’ is up to date.。不会重新编译。

接下来,修改一下test1.c.

1.只是进行cat查看,修改了Access时间。不重新编译。

在这里插入图片描述

2.使用vim修改。改动了Modify时间。重新编译。

在这里插入图片描述

四、总结

make是根据【modify时间是否变化】判断可执行文件是否需要重新编译。

相关文章:

  • 基于springboot+vue+Mysql的职称评审管理系统
  • SQL语句的编写
  • 将博客搬至稀土掘金中
  • pipeline流水线学习
  • C数据结构:单链表
  • MySQL innoDB存储引擎多事务场景下的事务执行情况
  • java操作linux
  • Covalent Network(CQT)推出以太坊质押迁移计划,以增强长期结构化数据可用性、塑造万亿级 LLM 参数体系
  • 输入输出系统的发展历程
  • python + jdbc 连接 达梦数据库
  • 在Linux系统上实现TCP(socket)通信
  • c++20协程详解(三)
  • 19、差分矩阵
  • (Oracle)SQL优化技巧(一):分页查询
  • 计算机基础系列合集
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript创建对象的四种方式
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Terraform入门 - 3. 变更基础设施
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 大整数乘法-表格法
  • 微信小程序开发问题汇总
  • 一个完整Java Web项目背后的密码
  • 用element的upload组件实现多图片上传和压缩
  • 优秀架构师必须掌握的架构思维
  • ​如何防止网络攻击?
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (WSI分类)WSI分类文献小综述 2024
  • (四)汇编语言——简单程序
  • (四)图像的%2线性拉伸
  • .Net Core 中间件验签
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET中使用Redis (二)
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • :“Failed to access IIS metabase”解决方法
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • []error LNK2001: unresolved external symbol _m
  • [android] 天气app布局练习
  • [codevs 1515]跳 【解题报告】
  • [CTSC2014]企鹅QQ
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)
  • [Linux]进程信号(信号入门 | 信号产生的方式 | 信号捕捉初识)
  • [Linux打怪升级之路]-vim编辑器(看就能马上操作噢)
  • [Perl] Find Shell on your Wordpress site
  • [POJ2104]K-th Number
  • [puppet]如何设置全局exec path
  • [导入]SQL Server练习题2