news 2026/3/28 3:39:42

16、构建与GNU Make的实用技巧与算术实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
16、构建与GNU Make的实用技巧与算术实现

构建与GNU Make的实用技巧与算术实现

在软件开发过程中,构建系统和GNU Make的运用常常会遇到各种问题与挑战,同时,借助GNU Make实现一些特殊功能也有其独特的方法。下面将详细介绍构建过程中的处理器使用、文件搜索、Makefile定位以及在GNU Make中实现算术运算和计算器的相关内容。

1. 处理器数量与构建加速

在小型构建任务中,处理器数量与最大加速比存在一定关系。以下是不同处理器数量对应的最大加速比:
| 处理器数量 | 最大加速比 |
| — | — |
| 10 | 2.46x |
| 11 | 2.50x |
| 12 | 2.53x |

根据阿姆达尔定律预测,对于这个小型构建,大约从8个处理器开始,最大加速比会趋于平稳。而实际的平稳状态还受限于构建中只有13个可能的任务这一事实。

从构建结构来看,最多使用8个处理器是合理的。原因如下:有5个任务(t1、t2、t4、t6和t7)可以无依赖地并行运行;另外有3个小任务链,分别是t3、t5和t8,t9和t10,t11和t12,每个任务链每次使用1个处理器;构建任务t可以复用8个处理器中的一个,因为此时它们都处于空闲状态。

在实际应用中,像C和C++这类有链接步骤的语言,阿姆达尔定律对构建时间的影响尤为显著。通常,所有目标文件在链接步骤之前构建完成,然后需要运行一个单独(通常很大)的链接进程。这个链接进程往往无法并行化,从而成为构建并行化的限制因素。

2. 让$(wildcard)函数递归搜索

GNU Make的内置$(wildcard)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/18 1:42:43

Kotaemon倒排索引增强:结合BM25提升召回率

Kotaemon倒排索引增强:结合BM25提升召回率 在构建智能问答系统时,一个常见的挑战是:即使使用了强大的大语言模型(LLM),回答依然可能“一本正经地胡说八道”。这种现象背后,往往不是生成能力不足…

作者头像 李华
网站建设 2026/3/13 18:41:51

Kotaemon战略发展规划撰写:三年蓝图绘制

Kotaemon战略发展规划:构建可信赖的AI代理基础设施 在金融、医疗和法律这些容错率极低的行业里,AI系统一旦“一本正经地胡说八道”,轻则误导决策,重则引发合规风险。这正是当前大语言模型落地最难啃的骨头——生成内容不可信、过程…

作者头像 李华
网站建设 2026/3/24 8:54:38

Kotaemon ONNX Runtime集成:跨平台高性能执行

Kotaemon ONNX Runtime集成:跨平台高性能执行 在企业级智能对话系统的构建中,一个常见的挑战是:为什么训练阶段表现优异的模型,一旦部署上线就变得“卡顿”甚至“不可预测”?这个问题背后往往隐藏着推理效率、环境差异…

作者头像 李华
网站建设 2026/3/27 20:16:00

8个AI论文工具,继续教育学员快速完成写作!

8个AI论文工具,继续教育学员快速完成写作! AI 工具助力论文写作,高效又省心 在继续教育的学习过程中,论文写作往往是一项既耗时又费力的任务。尤其是面对复杂的学术要求和严格的格式规范时,许多学员常常感到无从下手。…

作者头像 李华
网站建设 2026/3/27 6:48:23

SPSS——对应分析基础

更多免费教程和软件 :​ 对应分析基础 为什么引入对应分析 在进行数据分析时遇到分类型数据,并且要研究两个分类变量之间的相关关系,基于均值、方差的分析方法不能够使用,所以通常从编制两变量的交叉表入手,使用卡方检验和逻辑回归等方法;但是当变量的类别或者变量数量为…

作者头像 李华