<分区>
如果“make -j2”和“make”可以加速make过程并解决所有make序列相关问题?
有时当我想加快 make 过程时,我必须添加 -j 到 make 命令。但是在我使用这样的命令opts之后,由于make sequence的无序,一些项目的一些cpp无法成功制作。所以我在没有任何命令的情况下再次“制作”它来解决这些错误。
简而言之,我使用 make -j2 来加速 make 进程,使用 make without opts 来解决 make -j2 中出现的问题。所有这些都是为了加快制作过程。
我的问题是,在“make -j2”和“make”之后是否存在任何问题?
他们从来没有解决任何问题。他们只是尊重您的 makefile。如果您的 makefile 已损坏并且具有不正确的依赖项,那么应用多个进程/线程进行 make 将无法可靠地工作。 (正如您所发现的)
您必须花时间确保您的依赖项布局正确,以便它知道它可以同时编译什么不能同时编译,什么取决于什么,以及哪些文件在多个编译单元中共享.
正确完成 make -j 1、-j 2 和 -j 20 之间的唯一区别是使用了更多内核,工作应该更快地完成。
为了进一步引用,我什至没有将其作为参数传递。
export MAKEFLAGS="-j 20"
本质上是在我的环境中。