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

news2024/12/21 15:02:14

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.coloradmin.cn/o/2242112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务链路追踪skywalking安装

‌SkyWalking是一个开源的分布式追踪系统,主要用于监控和分析微服务架构下的应用性能。‌ 它提供了分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,特别适用于微服务、云原生架构和基于容器的环境(如Docker、K8s、Mesos&…

品牌如何利用大数据工具,进行消费者洞察分析?

存量竞争的时代, 消费者聆听是品牌持续增长的关键,借助大数据的消费者数据洞察,可以帮助品牌分析消费者的所思所想及行为特征,获取消费者对产品的需求痛点、使用感受,对品牌的评价口碑等,从而帮助品牌更好地…

模拟实现优先级队列

目录 定义 特点 构造函数 常用方法 关于扩容的问题 关于建堆的问题 向上调整和向下调整的比较 (向上调整)代码 (向下调整)代码 关于入队列和出队列问题 模拟实现优先级队列代码 关于堆排序的问题 堆排序代码 关于对…

【4】GD32H7xx ADC采样

目录 1. GD32H7xx ADC1.1 ADC外设资源1.2 采样时间1.3 片上硬件过采样 2. ADC DMA规则多通道采样程序3. 程序测试 1. GD32H7xx ADC 1.1 ADC外设资源 GD32H7xx 有3个ADC外设: ADC0 20个外部通道,1个内部通道(DAC0_OUT0通道)32位…

GitLab 如何跨版本升级?

本分分享 GitLab 跨版本升级的一些注意事项。 众所周知,GitLab 的升级必须要严格遵循升级路径,否则就会出现问题,导致升级失败。因此,在 GitLab 升级之前需要做好两件事情: 当前版本的确认升级路径的确认 极狐GitLa…

【咕泡P5人工智能CV 技术NLP项目实战】

人工智能核心代码: 一、什么是人工智能技术: 人工智能(Aritificial Intelligence),英文缩写AI,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智…

R门 - rust第一课陈天 -内存知识学习笔记

内存 #mermaid-svg-1NFTUW33mcI2cBGB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1NFTUW33mcI2cBGB .error-icon{fill:#552222;}#mermaid-svg-1NFTUW33mcI2cBGB .error-text{fill:#552222;stroke:#552222;}#merm…

C# x Unity 从玩家控制类去分析命令模式该如何使用

本文部分内容出自游戏编程模式一书,游戏编程模式,有兴趣的小伙伴可以去看看,虽然不是unity x c#写的 但是思路挺好的 目录 目录 0.先说结论 发现问题 命令模式如何解耦 打个断点更利于分析 怎么实现延迟命令? 如何撤销命令? 脚本整体一览 不足分析(AI) 0.先说结论 …

【C++】—— stack和queue的模拟实现

前言 ​ stack 和 queue使用起来都非常简单,现在来模拟实现一下,理解其底层的原理。 ​ 在实现之前,应该知道,stack 和 queue 都是容器适配器,通过看官网文件也可以看出来;其默认的容器都是deque&#xff…

探索高效的 Prompt 框架:RBTR 提示框架的奥秘与优势

前言 在当今数字化的时代,人工智能(AI)已经成为我们生活和工作中不可或缺的一部分。而 Prompt 作为与 AI 交互的关键工具,其质量直接影响着我们获取信息的准确性和有用性。今天,我们将深入探讨一个通用的 Prompt 框架…

动态规划-完全背包问题——322.零钱兑换

1.题目解析 题目来源 322.零钱兑换——力扣 测试用例 2.算法原理 1.状态表示 这里需要寻找硬币使总面值等于一个值求出所需硬币的最小个数,所以不妨设置一个二维dp表,即dp[i][j]:在[1,i]个硬币中选择的硬币总面值完全等于j时所需要的最小硬…

day-82 最少翻转次数使二进制矩阵回文 I

思路 依次计算使行回文和列回文的的翻转次数,返回较小的次数即可 解题过程 计算行翻转次数:对于每一行,如果第一个数与最后一个数不相同(前提前一个数的索引小于后一个数的索引)则需翻转一次,将所有行翻转…

计算光纤色散带来的相位移动 matlab

需要注意的地方 1.以下内容纯属个人理解,很有可能不准确,请大家仅做参考 2.光速不要直接用3e8 m/s,需要用精确的2.9979.... 3.光的频率无论在真空还是光纤(介质)都是不变的,是固有属性,但是波长lambdac/f在不同的介…

15分钟学 Go 第 53 天 :社区资源与学习材料

第53天:社区资源与学习材料 目标 了解Go语言官方资源掌握社区重要学习平台学会利用开源项目学习构建个人知识体系 一、Go语言官方资源汇总 资源类型网址说明Go官网golang.org官方文档、下载、教程Go Blogblog.golang.org技术博客、最新特性介绍Go Playgroundpla…

丹摩征文活动 |【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

前言 🌟🌟本期讲解关于HTMLCSSJavaScript的基础知识,小编带领大家简单过一遍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 …

【Python · PyTorch】卷积神经网络(基础概念)

【Python PyTorch】卷积神经网络 CNN(基础概念) 0. 生物学相似性1. 概念1.1 定义1.2 优势1.2.1 权重共享1.2.2 局部连接1.2.3 层次结构 1.3 结构1.4 数据预处理1.4.1 标签编码① One-Hot编码 / 独热编码② Word Embedding / 词嵌入 1.4.2 归一化① Min-…

机器学习-36-对ML的思考之机器学习研究的初衷及科学研究的期望

文章目录 1 机器学习最初的样子1.1 知识工程诞生(专家系统)1.2 知识工程高潮期1.3 专家系统的瓶颈(知识获取)1.4 机器学习研究的初衷2 科学研究对机器学习的期望2.1 面向科学研究的机器学习轮廓2.2 机器学习及其应用研讨会2.3 智能信息处理系列研讨会2.4 机器学习对科学研究的重…

激光slam学习笔记5---ubuntu2004部署运行fastlivo踩坑记录

背景:看看fastlivo论文,觉得挺有意思的,就本地部署跑跑看看效果。个人环境,ubuntu20.04。 一、概要 由于依赖比较多,个人构建工作空间,使用catkin_make编译 src├── FAST-LIVO├── livox_ros_driver…

多模态大模型开启AI社交新纪元,Soul App创始人张璐团队亮相2024 GITEX GLOBAL

随着AI在全球范围内的加速发展和广泛应用,各行业纷纷在此领域发力。作为全球最大的科技盛会之一,2024年的GITEX GLOBAL将目光再次聚焦于人工智能的飞速发展,吸引了超过6700家来自各个领域的企业参与。在这样的背景下,Soul App作为国内较早将AI技术应用于社交领域的平台,首次亮相…

67页PDF |埃森哲_XX集团信息发展规划IT治理优化方案(限免下载)

一、前言 这份报告是埃森哲_XX集团信息发展规划IT治理优化方案,报告中详细阐述了XX集团如何优化IT治理结构以适应新的要求。报告还分析了集团管控模式的变化,提出了六大业务中心的差异化管控策略,并探讨了这些变化对IT治理模式的影响。报告进…