使用make编译源码,使用-j 参数的作用

make是进行编译的常用工具,原来只是简单使用,对其参数不甚了解,但是看到一些源码编译指南,在make 命令中加入-jn(n指2、4、8等数字),啥意思,查了一下make 的 man页,对其解释如下:

 -j [jobs], --jobs[=jobs]
Specifies  the  number  of jobs (commands) to run simultaneously.  If there is more than one -j option, the last one is effective.If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

翻译一下,即此参数指定并行运行任务的数量,如果提供了多个-j,最后一个是有效的。如果-j没有给定具体的数量,make命令将不限制并行任务的数量(会有啥后果,不知道!).举个例子,如果只需make -j2 ,则make允许2个编译命令同时只需,从而充分利用CPU的能力,提高编译速度,特别是在多核CPU上。当然,具体多少个任务同时执行为佳,还需要根据具体的机器配置,任务数太多,反而效果不好。



你可能感兴趣的:(杂谈)