如果"make -j2"和"make"可以加快制作过程并解决所有与制作序列相关的问题?

if "make -j2" and "make" can accelerate make process and solve all make sequence related issue?

本文关键字:make 问题 解决 -j2 如果 制作过程      更新时间:2023-10-16

如果"make-j2"answers"make"可以加速make过程并解决所有与make序列相关的问题?

有时,当我想加快make过程时,我不得不添加-j来生成命令。但是在我使用这样的命令opts之后,由于使序列无序,一些项目的一些cpp无法成功制作。所以我在没有任何命令的情况下再次选择解决这些错误。

简而言之,我使用make-j2来加快make过程,并使用make without opts来解决make-j2中出现的问题。所有这些都是为了加快制作过程。

我的问题是,在"make-j2"answers"make"之后是否存在任何问题?

它们永远不会解决任何问题。他们只是尊重你的makefile。如果您的makefile已损坏并且具有不正确的依赖关系,那么应用多个进程/线程进行make将无法可靠地工作。(正如你所发现的)

你必须花时间确保你的依赖关系得到了正确的布局,这样它就知道什么可以同时编译,什么不能同时编译,取决于什么,以及哪些文件在多个编译单元中共享。

如果做得好,make-j1、-j2和-j20之间的唯一区别是使用了更多的内核,并且应该更快地完成任务。

为了进一步参考,我甚至不把它作为一个论点
export MAKEFLAGS="-j 20"基本上在我的环境中。