news 2026/5/9 19:21:45

16、构建与算术:GNU make的实用技巧与挑战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
16、构建与算术:GNU make的实用技巧与挑战

构建与算术: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),每组每次使用一个处理器。构建任务t可以复用8个处理器中的一个,因为此时它们都处于空闲状态。

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

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

内置的 $(wildcard) 函数不是递归的,它只能在单个目录中搜索文件。不过,可以在 $(wildcard) 中使用多个通配符模式来搜索子目录。例如,$(wildcard/.c) 可以查找当前目录所有子目录下的所有 .c 文件。但如果需要搜索任意目录树,就没有内置的方法。

幸运的是,创建 $(wildcard) 的递归版本很容易,代码如下:

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

6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除

6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除 映射(Map)对象表示一组被称为键的值,其中每个键都关联着(或映射到)另一个值。从某种角度看,映射类似数组,只不过它并不局限于用连续的整数作为键。(键类似于索引号,但是它可以是任意值,也可是…

作者头像 李华
网站建设 2026/5/9 17:28:09

裂缝在地下窜动的瞬间总带着毁灭的美感。打开COMSOL看着操作界面,我习惯性先给自己冲了杯浓缩咖啡——毕竟水力压裂这玩意可比拉花难伺候多了

comsol仿真模拟水力压裂岩石损伤。 此案例为文献复现,含视频讲解。建模第一步得先把岩石调教明白。在材料库扒拉半天,最后选了Drucker-Prager准则,这货对脆性材料比较友好。参数栏里啪啪敲进弹性模量35GPa,抗压强度80MPa&#xff…

作者头像 李华
网站建设 2026/5/6 7:17:01

【毕业设计】SpringBoot+Vue+MySQL 短流量数据分析与可视化abo平台源码+数据库+论文+部署文档

摘要 随着互联网技术的快速发展,短流量数据(如短视频、社交媒体动态等)成为用户日常信息交互的主要形式之一。短流量数据具有实时性强、传播速度快、内容碎片化等特点,对企业和研究机构分析用户行为、优化内容推荐策略具有重要意义…

作者头像 李华
网站建设 2026/5/8 23:18:00

KotaemonSlogan创意生成:品牌口号工厂

Kotaemon:构建企业级智能对话中枢的技术实践 在当今企业数字化转型的浪潮中,AI助手早已不再是“能说会道”的玩具,而是承担真实业务流程、处理复杂决策的“数字员工”。然而,许多看似聪明的聊天机器人一旦进入实际场景&#xff0…

作者头像 李华
网站建设 2026/5/6 7:16:45

用Kotaemon做领域知识问答,准确率提升70%的秘密

用Kotaemon做领域知识问答,准确率提升70%的秘密 在金融合规审查、医疗诊断支持或法律条款查询这类高风险场景中,一个“差不多”的AI回答可能带来严重后果。用户真正需要的不是泛泛而谈的语言模型输出,而是有据可依、逻辑清晰、可追溯来源的专…

作者头像 李华
网站建设 2026/5/6 2:59:46

22、虚拟现实用户界面设计:原则与实践

虚拟现实用户界面设计:原则与实践 在虚拟现实(VR)的世界里,用户界面(UI)设计至关重要。它不仅影响着用户的沉浸感,还决定了用户与虚拟环境交互的效率和体验。本文将深入探讨VR UI设计的相关原则和实践,帮助开发者打造出更优质的VR应用。 1. 场景设计原则 在VR场景设…

作者头像 李华