【发布时间】:2010-07-21 07:01:48
【问题描述】:
我经常构建一个庞大的项目,即使在配置了预编译的标头之后,这也需要很长时间(超过一个小时)才能完成。他们是否有任何指南或技巧允许并行工作(例如,在后台启动 gcc,...等)以加快构建速度?
注意:源代码和二进制文件太大,无法放入 ram 文件系统中,我不想更改目录结构或构建理念。
【问题讨论】:
标签: gcc build build-process g++ makefile
我经常构建一个庞大的项目,即使在配置了预编译的标头之后,这也需要很长时间(超过一个小时)才能完成。他们是否有任何指南或技巧允许并行工作(例如,在后台启动 gcc,...等)以加快构建速度?
注意:源代码和二进制文件太大,无法放入 ram 文件系统中,我不想更改目录结构或构建理念。
【问题讨论】:
标签: gcc build build-process g++ makefile
你可以试试
make -j<number of jobs to run in parallel>
【讨论】:
【讨论】:
如果您的项目变得太大,一台机器无法处理,您可以使用其中一种分布式 make 替换,例如 Electric Cloud。
【讨论】:
如果您想并行运行构建,
make -jN
做这项工作,但请记住:
N 应该等于maximum number of threads your machine supports,如果你输入一个大于那个的数字,make 会自动变成N=maximum number of threads your machine supports
make 不支持在MSDOS 中使用-jN 进行并行构建,它只是进行串行构建。如果您指定 -jN,它将降级 N=1。在此处阅读更多信息,来自make 来源:http://cmdlinelinux.blogspot.com/2014/04/parallel-build-using-gnu-make-j.html
【讨论】:
MSDOS而不是windows,不知道我为什么写这个,更正!