Linux下makefile文件的编写

article/2025/9/26 21:10:38

在学习如何编写makefile文件之前,我们首先需要了解什么是makefile文件:

makefile描述了整个工程的编译和链接等规则。它指明了哪些文件需要先编译,哪写文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。makefile的“自动化编译”可以极大的提高软件的开发效率。

makefile的基本规则:

目标:依赖

(tab)命令

根据这个命令来编写一个简单的makefile文件:

定义了fun1.cpp fun2.cpp head.h 和main.cpp文件,利用这几个文件来编写一个简单的nakefile文件。

 

那准备工作做完后,我们来创建makefile文件:

vim makefile

在makefile文件里面,我们写上:

main:main.cpp fun1.cpp fun2.cppg++ main.cpp fun1.cpp fun2.cpp -o main

 创建好后,输入make命令,运行,得到main可执行文件

 输入./main运行可执行文件:

缺点:当这些文件没有被修改时,运行make命令,它会提示我们所有的文件都是最新的,这也展现了makefile文件知道项目什么时候需要编译,那些文件需要编译,哪些不需要。但是当我们只修改了其中一个文件时,在重新执行make命令,所有的文件都会重新编译。如果这个项目里面有很多文件的话,那修改一个,就要重新编译很多个文件,这样执行效率就会很低。

为了解决这个问题,我们将makefile文件进行改写:

main_test : main.o fun1.o fun2.og++ main.o fun1.o fun2.o -o main_test.omain.o : main.cppg++ -c main.cpp -o main.o -I./fun1.o : fun1.cppg++ -c fun1.cpp -o fun1.ofun2.o : fun2.cppg++ -c fun2.cpp -o fun2.o

重新执行make命令, 当面对新的文件被修改,那么只要要重新编译被修改的文件即可。


http://chatgpt.dhexx.cn/article/9JWkLB1S.shtml

相关文章

Makefile文件详解一(怎么在Windows下使用Makefile文件)

前言:如果熟悉在Linux开发的话,肯定知道Makefile文件的用处,它给我们带来很多的便利。在Linux系统下并不会像Windows那么多开发工具,在Windows下,只要在开发工具上点击一个按钮,就能将工程的所有源码进行编…

makefile文件编写

makefile文件用于管理和组织代码工程的编译和链接,其不是可执行文件,其被make工具解析并完成相关动作,下面笔者将介绍makefile中常用的一些语法说明: 1、文件包含: 语法:include 文件名 作用:…

make中makefile文件的创建和使用

Makefile文件就是一种定义规则的文件,规则不同但格式基本相同,如图 一个makefile中有多个规则,但最终形成一个makefile文件,且只有一个终极目标,第一行就是终极目标。 格式: 1.目标文件:(如mai…

【Linux基础】如何编写Makefile文件?

文章目录 前言一、make工具简介1.什么是make?2.如何安装make? 二、编写Makefile文件1.文件组成2.工作原理3.Makefile文件优点4.单级目录下的Makefile文件编写5.多级目录下的Makefile文件编写 总结 前言 我们刚开始在Linux系统下进行编程时,采用的编译方法为&#…

从0开始教你编写Makefile文件

目录 编写Makefile第一步,了解什么是Makefile? 编写Makefile第二步,明白编译链接过程 编写Makefile第三步,实现简单的Makefile(生成单个可执行文件) 解释一下一个简简单单的make都干了什么? 编写Makefile第四步&am…

C语言makefile文件

文章目录 一、makefile的编写二、make命令三、makefile文件中的变量四、应用经验五、课后作业六、版权声明 在软件的工程中的源文件是很多的,其按照类型、功能、模块分别放在若干个目录和文件中,哪些文件需要编译,那些文件需要后编译&#xf…

【Linux】Makefile文件

1.Makefile的作用 Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,可以实现自动化编译,一旦写好,只需要一个make命令,整个工程完全自动编译&#xff0…

计算一幅图像的信噪比

计算一幅图像的信噪比 适用情况计算步骤附matlab代码example计算结果计算峰值信噪比 大家好,这是我两年前写的一篇博客修正版本,本来打算删掉了,但是阅读量很多,可能对大家会有一点小小的帮助,就重新放上来吧。 适用情…

两种常用的全参考图像质量评价指标——峰值信噪比(PSNR)和结构相似性(SSIM)

原文:https://blog.csdn.net/zjyruobing/article/details/49908979 1.PSNR(Peak Signal to Noise Ratio)峰值信噪比: MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图…

图像信噪比的理解

图像的信噪比和图像的清晰度一样,都是衡量图像质量高低的重要指标。图像的信噪比是指视频信号的大小与噪波信号大小的比值,其公式为: S/N(信噪比) 20 log (信号/噪声)dB信噪比大,图像画面就干净&#xff0…

相机的信噪比

在图像传感器的成像过程中,真实的信号是无法探测到的理想值。在成像过程中理想值被引入了一系列的不确定性,最终形成读出信号也即图像。此过程中的不确定性被统一称为噪声。而信号与噪声的比值被定义为信噪比(Signal-to-NoiseRatio, SNR&…

信噪比(SNR)

信噪比(Signal-to-noise ratio,缩写为 SNR 或 S/N),也称作信杂比或讯杂比。 信噪比,为有用信号功率(Power of Signal)与噪声功率(Power of Noise)的比。因此为幅度(Amplitude)比的平方&#xff…

信干噪比、信噪比

信干噪比 名词定义 信干噪比SINR(Signal to Interference plus Noise Ratio),指的是系统中信号与干扰和噪声之和的比。 信号是指来自设备外部需要通过设备进行处理的电子信号。 干扰是指系统本身以及异系统带来的干扰,如同频干扰…

图像的峰值信噪比(peak signal to noise ratio, PSNR)

峰值信噪比(PSNR)是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语。由于许多信号都有非常宽的动态范围,峰值信噪比常用对数分贝单位来表示。 在图像处理中,要对图像进行客观的评价,常…

图像处理随笔之峰值信噪比(peak signal to noise ratio)

图像处理随笔之峰值信噪比(peak signal to noise ratio) the definition from WIKI:an engineering term for the ratio between the maximum power of a signal and the power of corrupting noise that affects the fidelity of its repre…

python求不同分辨率图像的峰值信噪比,一文搞懂

可以使用 Python 的 NumPy 和 OpenCV 库来实现这个任务。提前准备一张图片作为素材。 文章目录 什么是峰值信噪比PSNR 峰值信噪比补充说明 使用 OpenCV 库来实现这个任务PSNR 的计算值受图像的亮度影响计算不同分辨率图像的 PSNRpython 求不同分辨率图像的峰值信噪比 | 其他知识…

【深度学习】图像去雾,去噪里常用的相似评价指标:PSNR(峰值信噪比) SSIM(结构相似度)MSE(均方误差)

文章目录 一、PSNR(峰值信噪比)二、SSIM(结构相似度)三、MSE(均方误差)小插曲:plt.savefig()保存的图片为空白 一、PSNR(峰值信噪比) 公式直接抄我…

信噪比

fft原理 能量谱 (5)能量信号频谱通常既含有幅度也含有相位信息;幅度谱的平方(二次量纲)又叫能量谱(密度),它描述了信号能量的频域分布;功率信号的功率谱(密…

PSNR峰值信噪比matlab实现

PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值&…

psnr--峰值信噪比

psnr是“Peak Signal to Noise Ratio”的缩写,即峰值信噪比,是一种评价图像的客观标准,它具有局限性,一般是用于最大值信号和背景噪音之间的一个工程项目。 中文名 PSNR 外文名 Peak Signal to Noise Ratio” 意 义 峰值…