【发布时间】:2015-03-13 03:30:50
【问题描述】:
来自 gnu make 的手册页:
“-j”选项是一种特殊情况(请参阅并行执行)。如果你设置 将它设置为某个数值“N”并且您的操作系统支持它 (大多数 UNIX 系统都会;其他通常不会),父系统 并且所有子制造商将进行沟通以确保只有 “N”个作业在它们之间同时运行。请注意,任何工作 标记为递归的(请参阅代替执行配方)不会 计入工作总数(否则我们可以获得“N”个子制作 运行,并且没有剩余的插槽可用于任何实际工作!)
如果您的操作系统不支持上述通信,那么 '-j 1' 总是放入 MAKEFLAGS 而不是你的值 指定的。这是因为如果将“-j”选项传递给 子制作,你会得到比你更多的并行运行的工作 要求。如果你给'-j'没有数字参数,意思是运行 尽可能多的并行作业,这是传下来的,因为 多个无穷不超过一个。
哪些常见的操作系统支持或不支持这种行为? 你怎么知道你的操作系统是否支持它?
【问题讨论】:
-
答案here 涵盖了这一点。
-
谢谢,这有帮助。我已经编辑了这个问题,还问你怎么知道