news 2026/4/3 5:51:38

16、GNU Make 使用中的常见问题及算术功能实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
16、GNU Make 使用中的常见问题及算术功能实现

GNU Make 使用中的常见问题及算术功能实现

在使用 GNU Make 进行项目构建和开发时,会遇到一些常见的问题,同时也可以通过一些技巧来扩展其功能,比如实现算术运算等。下面将详细介绍这些内容。

构建速度与处理器数量

在小型构建中,处理器数量与最大加速比存在一定关系,如下表所示:
| 处理器数量 | 最大加速比 |
| — | — |
| 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++ 这类有链接步骤的语言,阿姆达尔定律会显著影响构建时间。通常,在链接步骤之前会构建所有目标文件,然后运行一个(通常很大)的链接进程。这个链接进程往往无法并行化,成为构建并行化的限制因素。

让 $(wildcard) 函数递归

GNU Make 内置的 $(wildcard) 函数不是递归的,它只能在单个目录中搜索文件。不过,可以在 $(wildcard) 中使用多个通配符模式来查找子目录中的文件,例如 $(wildca

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

Danbooru批量下载终极指南:一键构建你的图像数据集

Danbooru批量下载终极指南:一键构建你的图像数据集 【免费下载链接】DanbooruDownloader Danbooru image downloader. 项目地址: https://gitcode.com/gh_mirrors/dan/DanbooruDownloader 还在为手动下载Danbooru图片而烦恼吗?想要快速构建AI训练…

作者头像 李华
网站建设 2026/3/31 15:33:03

调研效率翻倍!百考通AI问卷平台,一句话生成专业问卷

https://www.baikao tongai.com/wj 还在为设计一份科学、有效的问卷而反复修改、四处求助?担心问题有引导性、选项不全面、结构混乱影响数据质量?别再让技术细节拖慢你的研究进度!百考通全新升级的AI问卷设计平台(https://www.ba…

作者头像 李华
网站建设 2026/3/31 7:54:37

降重后“面目全非”?揭秘AI“双降”黑科技,如何保住你的思想与表达

摘要:“降重”是毕业论文的必经关卡,但传统降重方法常导致文章逻辑破碎、语病频出。本文深入剖析“重复率”与“AI生成痕迹”的双重检测新常态,全面解读百考通AI自主研发的“降重/降AIGC双重保障功能”如何实现智能语义重构,在有效…

作者头像 李华
网站建设 2026/3/31 4:44:45

终极内存取证实战:PCILeech深度解析与工具对比

终极内存取证实战:PCILeech深度解析与工具对比 【免费下载链接】pcileech Direct Memory Access (DMA) Attack Software 项目地址: https://gitcode.com/gh_mirrors/pc/pcileech 在数字取证和应急响应领域,内存取证已成为不可或缺的技术手段。面对…

作者头像 李华
网站建设 2026/3/31 0:24:10

某当劳请求头 x-hmac-digest 签名算法逆向分析

0x0 前言在之前的研究中,我们分析了该 App 的 sign 签名。但在进一步抓包过程中,发现 Headers 中的 x-hmac-digest同样是请求成功的关键。若不还原此参数,直接重放请求会导致授权失败。本文将记录通过静态分析与动态调试还原该参数的过程。0x…

作者头像 李华