makefile的机制,执行命令的流程分析

news2024/10/2 10:28:09

makefile的机制,流程分析

calc:add.o sub.o multi.o
        gcc add.o sub.o multi.o calc.cpp -o calc

add.o:add.cpp
        gcc -c add.cpp -o add.o

sub.o:sub.cpp
        gcc -c sub.cpp -o sub.o

multi.o:multi.cpp
        gcc -c multi.cpp -o multi.o

clean:
        rm -rf *.o calc

按照这个例子分析,我们,make命令执行后会先执行目标后面的依赖,

在这里插入图片描述

如果没有依赖就执行后面的命令,比如clean操作

在这里插入图片描述

依赖分两种情况,存在或者不存在

我们现在这种情况是不存在的

calc:add.o sub.o multi.o

所以会去执行其他的目标,比如add.o:add.cpp,因为我们的add.cpp是他的依赖,再去找这个依赖看看存不存在,发现当前文件中存在这个依赖,所以执行后面的编译代码。

保证目标是用最新的依赖生成的

如果提示这个就是表示文件已经是最新的了

在这里插入图片描述

如果文件代码有修改 重新执行make的时候就会重新编译生成一份新的文件

假设我们现在修改下add.cpp文件

在这里插入图片描述

重新make一下

在这里插入图片描述

只会执行我们修改的文件的代码指令,

其他文件没有修改过的不会执行编译指令。

第一次全完编译工后面只编译最新的代码(部份编译)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1402328.html

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

相关文章

Flash读取数据库中的数据

Flash读取数据库中的数据 要读取数据库的记录,首先需要建立一个数据库,并输入一些数据。数据库建立完毕后,由Flash向ASP提交请求,ASP根据请求对数据库进行操作后将结果返回给Flash,Flash以某种方式把结果显示出来。 …

Spring | Srping AOP (AOP简介、动态代理、基于“代理类”的AOP实现)

目录: 1.Spring AOP简介1.1 AOP简介1.2 AOP术语 2.动态代理2.1 JDK动态代理2.2 CGLIB代理 3.基于“代理类”的AOP实现3.1 Spring的通知类型3.2 ProxyFactoryBean ( 可通知.xml配置文件完成aop功能 ) 1.Spring AOP简介 1.1 AOP简介 Spring的AOP模块,是Spring框架体系…

nginx基于IP的多虚拟主机

结合这篇文章一起:nginx虚拟主机-CSDN博客文章浏览阅读63次。虚拟主机指的就是一个独立的站点配置,是nginx默认支持的一个功能,它能够有自己独立的域名,独立的ip,独立的端口配置,能够配置完整的www服务&…

<信息安全>《2 国内主要企业网络安全公司概览(二)》

4 北京天融信科技有限公司(简称天融信) 信息内容LOGO成立日期创始于1995年总部北京市海淀区上地东路1号院3号楼北侧301室背景民营企业是否上市天融信[002212]A股市值99亿主要产品网络安全大数据云服务员工规模6000多人简介天融信科技集团(证券代码:0022…

基于内容的图像web检索系统

题目:基于内容的图像在线检索系统 简介:基于内容的图像在线检索系统(Content Based Online Image Retrieval , 以下简称 CBOIR),是计算机视觉领域中关注大规模数字图像内容检索的研究分支。典型的CBOIR系统&#xff…

使用Python对音频进行特征提取

在几年前写的使用Python对音频进行特征提取使用的是人为特征的方法进行特征提取的,近些年随着深度学习的普及,这里尝试使用深度学习方法进行特征提取。 数据集测试 之前的数据集找不到了,这个数据其实是kaggle的一个数据:www.ka…

ElasticSearch集群灾难:别放弃,也许能再抢救一下 | 京东云技术团队

1 前言 Elasticsearch作为一个分布式搜索引擎,自身是高可用的;但也架不住一些特殊情况的发生,如: 集群超过半数的master节点丢失,ES的节点无法形成一个集群,进而导致集群不可用; 索引shard的文…

蔚来卖一辆车亏20万,去年前三季度巨亏153亿

作为曾经的造车新势力“老大哥”蔚来,一边发布全新旗舰车型ET9预售价80万引争议,一边交付量在新势力垫底;更加“雪上加霜”的是,业绩亏损继续扩大。 「不二研究」据蔚来汽车三季报发现:今年三季度,蔚来净亏…

PyTorch深度学习实战(31)——生成对抗网络(Generative Adversarial Network, GAN)

PyTorch深度学习实战(31)——生成对抗网络 0. 前言1. GAN2. GAN 模型分析3. 利用 GAN 模型生成手写数字小结系列链接 0. 前言 生成对抗网络 (Generative Adversarial Networks, GAN) 是一种由两个相互竞争的神经网络组成的深度学习模型,它由…

基于taro搭建小程序多项目框架,记重点了!!!

前言 为什么需要这样一个框架,以及这个框架带来的好处是什么? 从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时&#…

react umi/max 页签(react-activation)

思路:通过react-activation实现页面缓存,通过umi-plugin-keep-alive将react-activation注入umi框架,封装页签组件最后通过路由的wrappers属性引入页面。 浏览本博客之前先看一下我的博客实现的功能是否满足需求,实现功能&#xf…

日常常见应用组件升级记录

一、前言 因近期安全扫描,发现java后端应用涉及多个引用组件版本过低,涉及潜在漏洞利用风险,特记录相关处理升级处理过程,以备后续确认; 二、升级处理过程 2.1、Java类应用内置Spring Boot版本升级 Spring Boot是一…

【数据结构与算法】之字符串系列-20240121

这里写目录标题 一、344. 反转字符串二、125. 验证回文串三、205. 同构字符串四、242. 有效的字母异位词五、290. 单词规律 一、344. 反转字符串 简单 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额…

java SSM政府采购管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM政府采购管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

【UE5】第一次尝试项目转插件(Plugin)的时候,无法编译

VS显示100条左右的错误,UE热编译也不能通过。原因可能是[名字.Build.cs]文件的错误,缺少一些内容,比如说如果要写UserWidget类,那么就要在 ]名字.Build.cs] 中加入如下内容: public class beibaoxitong : ModuleRules …

UML序列图入门

使用工具:processOn可免费建9个文件 UML:Unified Modeling Language 统一建模语言 ProcessOn - 我的文件 一、介绍 序列图是基于对象而非基于类; 从上到下:展示了处理过程中,每个对象的生命周期; 从左到…

从白子画到东方青苍,你选择谁来守护你的修仙之旅?

从白子画到东方青苍,你选择谁来守护你的修仙之旅? 在繁花似锦的修仙世界中,每一位追梦者都渴望有那么一位守护者,与你共患难,共成长。热血与浪漫交织的《花千骨》与《苍兰诀》,给我们带来了两位风华绝代的守护者:白子…

ST-GCN 人体姿态估计模型 代码实战

构建一个ST-GCN(Spatio-Temporal Graph Convolutional Network)模型需要结合图卷积网络(GCN)的思想,以处理时空数据。以下是一个简单的例子,演示如何使用PyTorch构建ST-GCN模型: import torch …

偷偷浏览小网站时,原来有这么多人已经知道

最近看到一篇挺有意思文章,偷偷浏览小网站时,都有谁会知道你看了啥。思量之下,从更广泛的技术角度看,仍有大量补充的空间,于是就有了这样一篇文章。本文的目的在于增强大家的网络安全意识,非必要不要浏览不…

护眼灯品牌哪个好?护眼灯最好的品牌排行

很多家长在帮助孩子选购台灯时可能会遇到一些困扰,而市面上存在许多质量不合格的台灯。曾经有央视节目曝光了许多LED台灯存在严重不合格的情况。尽管目前对于台灯执行强制性产品认证,并不定期进行抽样检查,但仍然存在一些未强制认证的产品在市…