2011-12-14 3 views
0

Привет, я пытаюсь выяснить, когда требуется полная сборка, и когда частичная сборка достаточна. Есть много художественных произведений, но я не могу найти конкретные ответы.Когда полная сборка и частичная сборка?

Ниже приведены мои мысли

Полная сборка требуется в следующих случаях:

1.Change в сборке зависимых модулей.

--- изменить вариант сборки или использовать методы оптимизации.

2.changes в макете объекта:

--- Любое изменение в файле headder, добавление и удаление новых методов в классе.

--- Изменение размера объекта путем добавления или удаления переменных или виртуальных функций.

--- Изменение выравнивания данных с использованием прагма-пакета.

3.Any изменение глобальных переменных

Частичная сборка достаточно, когда:

1.Any изменения в логике тех пор, пока она не изменяя интерфейс указанный

2. изменение в переменной стека

+0

Это может быть лучше, чем сообщество. –

+0

Я не уверен, что мы используем одно и то же определение полной и частичной сборки. Есть несколько случаев, когда вы делаете полную сборку, и я просто позволяю 'make' строить то, что нужно перестроить.Например, когда я изменяю заголовок. – AProgrammer

+0

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

ответ

1

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

Но это верно только в идеальном мире. Практически строить инструменты написаны людьми и людьми

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

Для вас это означает, что вам нужно иметь опыт работы с вашими инструментами построения. С хорошим письменным makefile может принимать во внимание все, и вам редко приходится делать полную сборку. Но в 21-м веке make-файл уже не является современным, и они скоро становятся сложными. Современные среды разработки выполняют довольно хорошую работу по поиску зависимостей, но для более крупных проектов у вас могут быть зависимости, которые сложно сформулировать в концепции среды разработки, и вы будете писать сценарий.

Так что на ваш вопрос нет реального ответа. На практике хорошо сделать полную перестройку для каждого выпуска, затем эту перестройку следует выполнить, нажав только одну кнопку. И делайте частичную сборку для ежедневной работы, так как никто не хочет ждать 2 часа, чтобы узнать, компилируется ли код или нет. Но даже в повседневной работе требуется полная перестройка, потому что компоновщик/компилятор/(ваш выбор инструмента здесь) не распознал даже самые простые изменения.

Смежные вопросы