Я всегда использую термины " компиляция" и " сборка" как синонимы.
Что именно означают эти термины?
build
compilation
terminology
Lazer
источник
источник
Ответы:
Компиляция - это процесс превращения исходного кода в объектный код.
Связывание - это процесс объединения объектного кода с библиотеками в необработанный исполняемый файл.
Сборка - это последовательность, состоящая из компиляции и компоновки с, возможно, другими задачами, такими как создание установщика.
Многие компиляторы автоматически обрабатывают этап связывания после компиляции исходного кода.
источник
Из википедии :
источник
Сборку можно рассматривать как сценарий, который состоит из множества этапов, основным из которых будет компиляция кода. Другие могли быть
источник
Часто они означают одно и то же. Однако «сборка» может также означать полный процесс компиляции и связывания всего приложения (в случае, например, C и C ++), или даже больше, включая, среди прочего
Существуют системы, подобные Maven , которые обобщают это с помощью концепции жизненного цикла , который состоит из нескольких этапов, производящих различные артефакты, возможно, с использованием результатов и артефактов с предыдущих этапов.
источник
Исходя из своего опыта, я бы сказал, что «компиляция» относится к преобразованию одного или нескольких читаемых человеком исходных файлов в байтовый код (объектные файлы в C), в то время как «построение» обозначает весь процесс компиляции, компоновки и всего остального, что необходимо. сделано для всего пакета или проекта.
источник
Большинство людей, вероятно, использовали бы эти термины как синонимы. Вы могли заметить один нюанс: компиляция - это всего лишь шаг, на котором вы передаете некоторый исходный файл через компилятор (gcc, javac, что угодно).
Сборку можно было услышать как более общий процесс проверки источника, создания целевой папки для скомпилированных артефактов, проверки зависимостей, выбора того, что нужно скомпилировать, запуска автоматических тестов, создания tar / zip / ditributions, перехода на ftp. , и т.д...
источник