Как я использую все ядра для nmake?

Несмотря на то, что у этого есть много ответов, которые, я считаю, помогут:

const newArray = [ ...new Set( [...arr1, ...arr2] ) ]

В вопросе о том, как будет выглядеть структура массива, не сказано, поэтому, если вы точно знаете, что у вас не будет вложенных массивов или объектов в вашем массиве (это случилось со мной, поэтому я пришел к этому ответу), этот код будет работать.

Что происходит, так это то, что мы используем оператор спреда (...) для согласования обоих массивов, затем мы используем Set для устранения любых дубликатов. Если у вас есть это, вы можете сравнить их размеры, если все три массива имеют одинаковый размер, вы можете пойти.

Этот ответ также игнорирует порядок элементов, как я уже сказал, точная ситуация со мной , так что, может быть, кто-то в той же ситуации может оказаться здесь (как и я).


Edit1.

Отвечая на вопрос Дмитрия Гринько: «Почему вы использовали оператор спреда ( ...) здесь - ... новый набор? Он не работает »

Рассмотрим этот код:

const arr1 = [ 'a', 'b' ]
const arr2 = [ 'a', 'b', 'c' ]
const newArray = [ new Set( [...arr1, ...arr2] ) ]
console.log(newArray)

Вы получите

[ Set { 'a', 'b', 'c' } ]

Чтобы работать с этим значением, вам нужно будет использовать некоторые свойства Set (см. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set ). С другой стороны, когда вы используете этот код:

const arr1 = [ 'a', 'b' ]
const arr2 = [ 'a', 'b', 'c' ]
const newArray = [ ...new Set( [...arr1, ...arr2] ) ]
console.log(newArray)

Вы получите

[ 'a', 'b', 'c' ]

В этом разница, первая даст мне набор, он будет работать так как я мог бы получить размер этого набора, но последний дает мне массив, в котором я нуждаюсь, что более прямо относится к разрешению.

43
задан Phil Hannent 2 March 2009 в 22:43
поделиться

6 ответов

Согласно MSDN, нет такой опции для nmake.

можно однако заставить компилятор создать несколько файлов параллельно при помощи /MP опция с VC ++ компилятор командной строки и передающий несколько файлов одновременно:

> cl /MP a.cpp b.cpp c.cpp

Однако примечание, что большинство Make-файлов не называет компилятор как это - они обычный, вызывает компилятор, отдельный для каждого отдельного исходного файла, который препятствовал бы /MP опция делать что-либо полезное.

21
ответ дан Alnitak 4 August 2019 в 17:47
поделиться

Incredibuild утверждает, что был в состоянии работать, nmake основывается на нескольких ядрах / несколько машин. У меня нет опыта его.

6
ответ дан Martin Beckett 4 August 2019 в 17:47
поделиться

Быстрое гугление дает: http://msdn.microsoft.com/en-us/library/bb385193.aspx

4
ответ дан Marcin Gil 4 August 2019 в 17:47
поделиться

Это не работает на нормальные make-файлы, но существует установка в Visual Studio 2005, который позволяет Вам создать больше чем один .vcproj файл одновременно (если каждый не зависит от другого). Инструменты-> Опции-> Проекты и Решения-> Сборка и Выполнение-> X максимальное количество параллельных сборок проекта.

3
ответ дан teeks99 4 August 2019 в 17:47
поделиться

QT имеет инструмент, предназначенный для этого. http://qt.gitorious.org/qt-labs/jom

35
ответ дан 26 November 2019 в 21:47
поделиться

Я считаю, что $... $ не является технически стандартным LaTeX, но что \( есть. Поскольку все латексные компиляторы используют базовый движок TeX, это никогда не проблема, но с точки зрения кулона, есть эта разница.

-121--2478549-

Первая проблема заключается в том, что идентификаторы префиксируются символом «#». # используется в CSS только для ссылки на элемент с таким идентификатором, например, правило CSS # outer {width: 100%} относится к элементу:

<div id="outer"></div>

Также нет необходимости использовать width в div's (или любых других элементах блока), которые не являются плавающими, так как они уже автоматически занимают 100% доступной ширины.

Если вы хотите, чтобы два DIV отображались на одной линии, вам нужно разместить первый слева. Соседний DIV появится сбоку, опять же не нужно указывать ширину для второго элемента. Вот ваш полный пример, включающий различную цветную границу для каждого раздела.

Я сделал границы больше, чтобы вы могли видеть, что происходит.

<html><body>
<style type="text/css">
#outer {
    border: solid 5px #c00;
}
#inner1 {
    border: solid 5px #0c0;
    float: left;
    width: 200px;
    height: 300px;
}
#inner2 {
    border: solid 5px #00c;
    height: 300px;
    margin-left: 210px; /* 200px left width + 2 x 5px borders */
}
</style>

<div id="outer">
  <div id="inner1">
    inner div 1. Some text...
  </div>
  <div id="inner2">
    inner div 2...
  </div>
</div>

</body></html>
-121--1064202-

CMake 2,8,1 RC1 , что касается времени написания этого он готов попробовать, приносит новый генератор для NMake, который называется NMake Makefiles JOM и он генерирует NMake со специфическим окружением для jom, который является падением замены NMAA. Таким образом, это дает возможность многопроцессорной сборки с использованием NMake.

7
ответ дан 26 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: