Qt_加速编译 快速编译 make -j4

1.Qt默认的编译速度不是很快  

查看任务管理器 qt编译的时候CPU利用率百分之十点多

2. 调整参数跑满CPU

 为什么是j4,这个数值通常是逻辑处理器的个数,如下图,当有12个逻辑处理器时,-j12是最快的

3.解释

至于make -j4 的意思   网友们有说是多核编译、多进程、多线程、多作业  于是特意找到GNU的官方说明,看一下官方是怎么解释的。

GNU官方 Make参数说明

 指定同时运行的作业数量,让尽可能多的作业同时运行。如果有一个以上的“-j”选项,最后一个选项是有效的。注意,这个选项在MS-DOS上被忽略。

GNU make知道如何同时执行多个作业。
通常,make一次只执行一个作业,在执行下一个作业之前等待它完成。
然而,“-j”或“——jobs”选项告诉make同时执行多个作业。
您可以使用. notparallel伪目标(请参阅特殊的内置目标名称)来禁止特定makefile中的并行性。

在MS-DOS上,“-j”选项没有效果,因为该系统不支持多处理。

如果“-j”选项后面跟着一个整数,这是一次执行的作业的数量;(通常是make -j4)
这被称为工作槽的数量。
如果在“-j”选项之后没有看起来像整数的东西,那么作业槽的数量就没有限制。
默认的作业槽数是1,这意味着串行执行(一次执行一件事)。

处理递归make调用会引发并行执行的问题。
有关这方面的更多信息,请参见与子make通信选项。

如果一个作业失败(被一个信号杀死或以非零状态退出),并且该作业不会忽略错误(请参阅菜谱中的错误),那么将不会运行重新创建相同目标。
如果作业失败,并且没有提供“-k”或“——keep-going”选项(请参阅选项摘要),则执行make aborts。
如果make因为任何原因(包括一个信号)终止了子进程的运行,那么它将在实际退出之前等待它们完成。

当系统负载过重时,您可能希望运行比负载较轻时更少的作业。
您可以使用“-l”选项告诉make根据负载平均值限制一次运行的作业数量。
“-l”或“——max-load”选项后面跟着一个浮点数。
例如, -l 2.5

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值