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

公司主页和公司网站持续优化疫情防控举措

公司主页和公司网站,持续优化疫情防控举措,成品软件网站大全推荐,登录入口网址1. 文件的时间戳 make 主要依靠文件的时间戳来判断依赖文件是否有更新。每个文件在文件系统中都有一个时间戳,记录了文件的三种重要时间: ​​访问时间(Accesstime)​​:文件最后一次被访问的时间。​​修改时间&…
1. 文件的时间戳

make 主要依靠文件的时间戳来判断依赖文件是否有更新。每个文件在文件系统中都有一个时间戳,记录了文件的三种重要时间:

  • ​访问时间(Accesstime)​​:文件最后一次被访问的时间。
  • ​修改时间(Modifytime)​​:文件内容最后一次被修改的时间。
  • ​状态改变时间(Changetime)​​:文件的状态(如权限、所有者等)最后一次被修改的时间。

make 主要关注的是文件的修改时间(mtime)。

2. 比较时间戳的过程

当 make 读取 makefile 中的规则时,会按照以下步骤检查依赖文件是否有更新:

步骤一:确定目标和依赖文件

假设 makefile 中有这样一个规则:

main: main.o add.o sub.ogcc main.o add.o sub.o -o main

这里 main 是目标文件,main.oadd.o 和 sub.o 是依赖文件。

步骤二:检查目标文件是否存在
  • 如果目标文件 main 不存在,那么 make 会认为目标文件是最新的(因为还没有生成),需要执行规则中的命令来生成目标文件。
  • 如果目标文件 main 存在,继续下一步。
步骤三:比较目标文件和依赖文件的修改时间
  • make 会获取目标文件 main 的修改时间(mtime)。
  • 然后依次获取每个依赖文件(main.oadd.o 和 sub.o)的修改时间。
步骤四:判断是否需要重新生成目标文件
  • 如果任何一个依赖文件的修改时间比目标文件的修改时间新,说明依赖文件有更新,make 会执行规则中的命令来重新生成目标文件。
  • 如果所有依赖文件的修改时间都不比目标文件的修改时间新,说明目标文件已经是最新的,make 不会执行任何命令。
3. 示例说明

假设当前目录下有以下文件及其修改时间:

  • main:2025-04-04 10:00:00
  • main.o:2025-04-04 09:00:00
  • add.o:2025-04-04 9:30:00
  • sub.o:2025-04-04 10:30:00

当运行 make 时:

  • make 发现目标文件 main 存在。
  • 获取 main 的修改时间为 2025-04-04 10:00:00。
  • 检查依赖文件:
    • main.o 的修改时间为 2025-04-04 09:00:00,比 main 的修改时间旧。
    • add.o 的修改时间为 2025-04-04 09:30:00,比 main 的修改时间旧。
    • sub.o 的修改时间为 2025-04-04 10:30:00,比 main 的修改时间新。

由于 sub.o 的修改时间比 main 的修改时间新,make 会认为 main 需要重新生成,因此会执行规则中的命令:

gcc main.o add.o sub.o -o main
4. 特殊情况处理
  • ​依赖文件不存在​​:如果规则中的某个依赖文件不存在,make 会认为这个依赖文件需要生成,从而执行相应的命令来生成这个依赖文件,然后再重新检查目标文件是否需要更新。
  • ​手动修改时间戳​​:如果手动修改了文件的时间戳,但没有实际修改文件内容,make 可能会错误地认为该文件已经更新,从而重新生成依赖它的目标文件。为了避免这种情况,可以使用 touch 命令来正确更新文件的时间戳。

总结

  • ​时间戳机制​​:make 主要依靠文件的时间戳(特别是修改时间 mtime)来判断依赖文件是否有更新。
  • ​比较过程​​:make 会获取目标文件和依赖文件的修改时间,并比较它们的大小。如果任何一个依赖文件的修改时间比目标文件的修改时间新,make 会执行规则中的命令来重新生成目标文件。
http://www.dtcms.com/wzjs/159564.html

相关文章:

  • 站群系统开发营销推广网站推广方案
  • windows2008做网站最新新闻实时新闻
  • 网站定制开发微信运营今日十大新闻
  • 兰州移动端网站建设百度应用app下载
  • 网站的用户注册怎么做怎样建立网站平台
  • 随州网站建设价格网站排名优化客服
  • 网站制作费用 厦门站长推荐入口自动跳转
  • 做网站导航站的注意点企业软文
  • 按揭车在哪个网站可以做贷款南宁seo外包平台
  • 泰安网站的建设seo排名赚钱
  • wordpress 改成 中文成都关键词优化报价
  • 网站解析怎么做seo长尾关键词排名
  • 深圳微信网站开发公司百度平台商家我的订单查询
  • 东营推广营销公司seo优化多久能上排名
  • 做同城网站南宁最新消息今天
  • wordpress系统教程 pdf网站快速排名优化价格
  • 游戏网站开发什么意思重庆网站推广
  • 云南电商网站开发关键词怎么选择技巧
  • 临沂网站建设推荐网站推广怎么做
  • 做网页的兼职平台网站关键词优化的步骤和过程
  • wordpress框架是什么百度seo排名原理
  • 自己做网站需要多少费用seo代码优化
  • 有什么网站做热图网站建设一般多少钱
  • html创建站点的步骤英文关键词seo
  • 网站建设公司伟置宁波seo网站推广
  • 杭州九鸿科技网站开发国际新闻头条今日国际大事
  • 做gif动态图网站百度seo插件
  • 装饰公司怎么做网站网站排名靠前
  • 学院网站怎么做的seo推广关键词公司
  • wordpress app 发布百度seo优化推广公司