Zawsze używam terminów kompilacja i budowanie zamiennie.
Co dokładnie oznaczają te terminy?
build
compilation
terminology
Lazer
źródło
źródło
Odpowiedzi:
Kompilacja to czynność polegająca na przekształceniu kodu źródłowego w kod wynikowy.
Łączenie to czynność polegająca na połączeniu kodu obiektowego z bibliotekami w surowy plik wykonywalny.
Budowanie to sekwencja składająca się z kompilacji i linkowania, z możliwymi innymi zadaniami, takimi jak tworzenie instalatora.
Wiele kompilatorów obsługuje etap łączenia automatycznie po skompilowaniu kodu źródłowego.
źródło
Z Wikipedii :
źródło
Kompilację można postrzegać jako skrypt, który składa się z wielu etapów - z których podstawowym jest kompilacja kodu. Inni mogą
źródło
Często mają na myśli to samo. Jednak „budowanie” może oznaczać również pełny proces kompilacji i linkowania całej aplikacji (w przypadku np. C i C ++), a nawet więcej, w tym m.in.
Istnieją systemy takie jak Maven , które uogólniają to pojęciem cyklu życia , który składa się z kilku etapów, wytwarzających różne artefakty, być może wykorzystując wyniki i artefakty z poprzednich etapów.
źródło
Z własnego doświadczenia powiedziałbym, że „kompilacja” odnosi się do konwersji jednego lub kilku plików źródłowych czytelnych dla człowieka na kod bajtowy (pliki obiektowe w C), podczas gdy „budowanie” oznacza cały proces kompilacji, łączenia i wszystkiego innego, co musi być zrobione z całego pakietu lub projektu.
źródło
Większość ludzi prawdopodobnie używałaby tych terminów zamiennie. Możesz zobaczyć jeden niuans: kompilacja to tylko krok, w którym przekazujesz jakiś plik źródłowy przez kompilator (gcc, javac, cokolwiek).
Budowanie można było usłyszeć jako bardziej ogólny proces sprawdzania źródła, tworzenia folderu docelowego dla skompilowanych artefaktów, sprawdzania zależności, wybierania tego, co ma zostać skompilowane, uruchamiania automatycznych testów, tworzenia pliku tar / zip / ditributions, wypychania na ftp itp ...
źródło