Gcc 加速GNU生成过程-并行性?
我经常构建一个巨大的项目,即使在配置了预编译的头文件之后,这也需要很长时间(超过一个小时)才能完成。他们是否有任何指导方针或技巧允许并行工作(例如,在后台启动gcc等)以允许更快的构建Gcc 加速GNU生成过程-并行性?,gcc,build,build-process,g++,makefile,Gcc,Build,Build Process,G++,Makefile,我经常构建一个巨大的项目,即使在配置了预编译的头文件之后,这也需要很长时间(超过一个小时)才能完成。他们是否有任何指导方针或技巧允许并行工作(例如,在后台启动gcc等)以允许更快的构建 注意:源文件和二进制文件太大,无法放在ram文件系统中,我不想更改目录结构或构建原理。如果您的项目太大,一台机器无法处理,您可以使用分布式的make替换,例如。您可以尝试 make -j<number of jobs to run in parallel> make-j make-jN是现在大多数机
注意:源文件和二进制文件太大,无法放在ram文件系统中,我不想更改目录结构或构建原理。如果您的项目太大,一台机器无法处理,您可以使用分布式的make替换,例如。您可以尝试
make -j<number of jobs to run in parallel>
make-j
make-jN
是现在大多数机器都是多核的,所以必须使用。如果您不想每次都编写-jN
,可以将
export MAKEFLAGS=-jN
在您的.bashrc
中
您可能还想签出。如果您想并行运行构建
make -jN
完成工作,但请记住:
N
应等于机器支持的最大线程数
,如果输入的数字大于该值,make
自动生成N=机器支持的最大线程数
make
不支持在MSDOS
中使用-jN
进行并行构建,它只支持串行构建。如果指定-jN
,它将降级N=1
请在此处阅读更多信息,来自
make
来源:MSDOS!=Windows,而你在第二点中关于并行制造的观点是错误的。@rubenvb:是的,我知道。谢谢你指出,源代码只提到了MSDOS
,而没有提到windows
,不知道我为什么写这个,更正了!