2010-02-22 1 views

ответ

122

Компиляция - это акт превращения исходного кода в код объекта.

Ссылка на является актом объединения объектного кода с библиотеками в необработанный исполняемый файл.

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

Многие компиляторы автоматически обрабатывают шаг связывания после компиляции исходного кода.

6

Часто они используются для обозначения того же самого. Тем не менее, «построить» может также означать полный процесс компиляции и компоновки целого приложения (в случае, например, C и C++), или даже больше, в том числе, среди прочего

  • упаковка
  • автоматический (блок и/или интеграция) тестирование
  • поколению Установщик
  • установки/развертывание
  • поколение документации/сайта
  • генерация отчетов (результаты испытаний, например, покрытие).

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

16

От wikipedia:

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

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

2

Большинство людей, вероятно, используют термины взаимозаменяемо. Вы можете увидеть один нюанс: компиляция - это только шаг, на котором вы передаете некоторый исходный файл через компилятор (gcc, javac, что угодно).

Здание можно услышать как более общий процесс проверки источника, создания целевой папки для скомпилированных артефактов, проверки зависимостей, выбора того, что должно быть скомпилировано, выполнения автоматических тестов, создания tar/zip/ditributions, нажатие на ftp и т. д.

7

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

  • выполнение тестов
  • отчетности (например, охват)
  • статический анализ
  • до и после сборки шаги
  • Запуск пользовательских инструментов над некоторыми файлами
  • Создание Установок
  • с маркировкой и развертыванием/копированием их в репозиторий
4

Из моего опыта я бы сказал, что «компиляция» относится к преобразованию одного или нескольких человекочитаемых исходных файлов в байтовый код (объектные файлы на C), а «building» обозначает весь процесс компиляции, связывания и т. Д. иначе нужно сделать весь пакет или проект.