• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

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

开发技术 开发技术 2周前 (04-08) 8次浏览

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

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

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

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

2. 设置方法:我们为Make添加参数

Qt 加速编译 快速编译 make -j4Qt 加速编译 快速编译 make -j4

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

GNU官方 Make参数说明

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

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

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

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


程序员灯塔
转载请注明原文链接:Qt 加速编译 快速编译 make -j4
喜欢 (0)