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

Linux——环境基础开发工具使用2(正在更新中...)

1.自动化构建-make/Makefile

1.1 认识make和Makefile

make是一个命令;

Makefile是一个文件。

 1.2 理解

其中在第一个图片中,第一行的

mytest:test.c

 叫做依赖关系;第二行的

gcc test.c -o mytest

叫做依赖方法。

依赖关系和依赖方法共同形成目标文件Makefile

1.3 具体语法

make 会自顶向下扫描Makefile文件,默认形成一个目标文件。

如果想要指定形成,make 后面跟一个指定名称。 

 

那么伪目标的作用是什么呢?

在Linux中,伪目标所依赖的方法,总是可以被执行的。 

 当Makefile中的内容是:

此时,只能执行一次编译,那么原因是什么呢?

主要原因是为了提高翻译效率。

那么是怎样判断要不要重新编译的呢?

 对比源文件与可执行文件的修改时间

在之前的博客中,我们提到,文件 = 内容 + 属性

 

对其编译之后,形成——

 形成了以 .c .i .o .s结尾的文件。

使用make clean指令,就可以将其清除掉。

1.4 推导过程

 (图一)

 (图二)

由图一可知,指令是从上到下依次执行的

(图片来自于比特就业课)

 该图片就解释了图一的过程。

根据上述,我们总结Makefile的推导原则——

将依赖方法不断入栈,推导完毕,出栈执行方法。

1.5 更加具有通用性的Makefile 

但是,我们一般不用这个来写,因为其不具有通用性。

 该代码比上一个更好,但是当源文件很多时,就不具有通用性。

http://www.lryc.cn/news/485683.html

相关文章:

  • STM32传感器模块编程实践(十二) micro SD卡模块简介及驱动源码
  • Linux debian系统安装ClamTk开源图形用户界面(GUI)杀毒软件
  • RapidIO介绍
  • 用魔方做存储器
  • 动力商城-03 Idea集成apifox Mybatis-Plus字段策略
  • python如何使用Rabbitmq
  • 分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign
  • MySQL初学之旅(3)约束
  • 使用YOLOv9进行图像与视频检测
  • C# 中的 LINQ:轻松处理集合和数据
  • 【征稿倒计时!华南理工大学主办 | IEEE出版 | EI检索稳定】2024智能机器人与自动控制国际学术会议 (IRAC 2024)
  • RHCE的学习(20)
  • 控制器ThinkPHP6
  • 1. Django中的URL调度器 (项目创建与简单测试)
  • 学习python的第十天之数据类型——dict字典
  • 华为Mate 70临近上市:代理IP与抢购攻略
  • 进程信号
  • RT-DETR融合GhostModel V3及相关改进思路
  • JVM有哪些垃圾回收器
  • EWM 打印
  • 前端文件优化
  • 电脑怎么自动切换IP地址
  • hbase集成phoenix
  • 单片机智能家居火灾环境安全检测
  • Git_2024/11/16
  • Java基础夯实——2.1Java常见的线程创建方式
  • 【Docker容器】一、一文了解docker
  • Spring:IOC实例化对象bean的方式
  • 深入解析生成对抗网络(GAN)
  • curl命令提交大json