Linux 开发工具 (2)

(1)makefile补充

我们看这些代码可以知道

1.make指令正常只能执行一次

2.make指令在执行一次之后 改变过依赖文件 可以再执行一遍

3.make指令会根据逻辑关系 自行推测执行顺序

4.make指令如果不指定确定的 默认是makefile文件的第一个指令

make指令一般情况下只能执行一次

因为没必要执行两次 两次执行的结果是一样的

但是如果执行第一遍之后 依赖文件内容改变了 第二次执行结果不一样 所以此时make指令就可以执行第二次

如果我们希望一个指令不管有没有文件更新都可以再次执行就可以加一个.PHONY

那系统怎么知道我们的依赖文件有没有改变呢?

系统是根据文件的时间先后来判断的

比如说make指令是把一个依赖文件A转换成生成文件B

那么

当 A的时间<B 说明文件 A没有在B生成后被改变 所以再生成一次A 得到的还是同样的B

当B的时间<A说明文件 A在B生成后被改变 所以再生成一次A 得到的还是同样的B

(2)makefile特殊符号

我们先来看$@和$^  

$@表示依赖关系的左边的内容

$^表示依赖关系右边的内容

我们来看下面这个例子 在makefile文件里

等价于

$@等价于: 左边的test.exe

$^等价于 :  右边的test.cpp

@ 可以让make的指令不显示

比如这是没有@的make和makefile

这是有@的make和makefile

(2)stat

如何查看时间?

stat指令可以查看文件的时间属性

Acess 是最近一次访问文件的时间 

Modify是最近一次修改文件内容的时间

Change是最近一次修改文件属性的时间

比如说我们要把文件的内容在在文件内复制一份

那么我们要访问进入到文件里面去 所以文件acess的时间会改

我们进入文件之后  在文件内要把文件内容复制一份

文件内容改变 所以Modify时间会改

同时文件大小改变了 所以 acess时间也会改

但是由于acess的时间太容易被改变了 所以系统优化了

可能几次访问才更新一次

这个时候我们就可以使用touch指令了

touch指令 + 一个已存在的文件名

就可以更新这个文件的时间属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值