完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我不明白为什么.h改了 这份代码就能实现.h的更新。
除了ifneq() 和 include 理解可能不到位,就我理解ifneq()这里的作用是看变量为空 不空就把dep_files文件包含进来(也就是.d文件) 其他的我还是能理解,前3句话,就是让变量dep_files为真实存在的依赖文件 7.8行是判断a.o b.o c.o有咩有更新,如果有更新,就更新test文件。 14行很简单 就是如果.C文件更新 就对.C编译 并生产依赖文件。 17--23主要是实现清理功能 |
|
相关推荐
5个回答
|
|
你对ifneq和include理解的没问题啊,首次判断只要第10行成立就把依赖文件包含进来,所以每次编译的时候(第14行),.o不仅依赖于.c,也依赖于包含进来的依赖文件,只要依赖文件有更新就执行make。
|
|
|
|
gcc的选项 -MD -MF 了解一下
|
|
|
|
多谢,明白了,还是include没有理解对,我原来总觉得包含进来的是.d文件,就没想到,include是展开.d文件,展开后就是对应的依赖了,然后就可以配合下面的命令使.h文件我可以产生更新。
|
|
|
|
大佬 我按着你的思路 我想通了。
但是我做了一个实验 发现有问题。 按着你的思路 如果把10 11 12行的命令 放到23行以后 改变.h就不会有更新,可是结果依然还是可以。我就想不通了。 |
|
|
|
你再好好理解一下。
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2089 浏览 6 评论
1900 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4460 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-7 07:20 , Processed in 0.636129 second(s), Total 86, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号