加速GNU制作构建过程 - 并行性?

时间:2010-07-21 07:01:49

标签: gcc build build-process g++ makefile

我经常构建一个庞大的项目,即使在配置预编译的头文件后,也需要很长时间(超过一小时)才能完成。他们的任何准则或技巧是否允许并行工作(例如在后台启动gcc,等等)以允许更快的构建?

注意:源和二进制文件的大小太大,无法放入ram文件系统中,我不想更改目录结构或构建原则。

4 个答案:

答案 0 :(得分:5)

你可以尝试

make -j<number of jobs to run in parallel>

答案 1 :(得分:4)

如果您的项目变得太大而无法处理一台计算机,则可以使用其中一种分布式make替换,例如Electric Cloud

答案 2 :(得分:4)

现在必须

make -jN,大多数机器都是多核的。如果您不想每次都写-jN,可以输入

export MAKEFLAGS=-jN

.bashrc

您可能还想结帐distcc

答案 3 :(得分:0)

如果您想并行运行构建,

make -jN

完成这项工作,但请记住:

  1. N应该等于maximum number of threads your machine supports,如果您输入的数字大于make,则会自动N=maximum number of threads your machine supports
  2. make不支持在-jN中使用MSDOS进行并行构建,它只是进行串行构建。如果您指定 - jN,则会降级N=1
  3. make来源:http://cmdlinelinux.blogspot.com/2014/04/parallel-build-using-gnu-make-j.html

    了解更多信息