Odpowiedzi:
„Budowanie” jest dość ogólnym terminem i może odnosić się do wszystkiego, co jest potrzebne, aby przejść od edytowalnego materiału źródłowego (kod źródłowy, skrypty, surowe pliki danych itp.) Do dostarczanego oprogramowania. Budowanie może (i zwykle wymaga) kilku etapów, takich jak wstępne przetwarzanie, kompilowanie, łączenie, konwertowanie plików danych, uruchamianie automatycznych testów, pakowanie itp.
„Kompilacja” jest bardziej szczegółowa i prawie niezmiennie odnosi się do procesu, który pobiera kod źródłowy jako dane wejściowe i generuje coś, co można uruchomić, zwykle kod maszynowy dla maszyny fizycznej lub wirtualnej lub kod źródłowy w innym języku.
Terminy te są często używane zamiennie, ale różnicowałbym je w następujący sposób:
Zatem kompilacja jest tak naprawdę podzbiorem budynku.
Kompilacja odbywa się za pomocą kompilatora, kompilacja może być bardziej złożonym procesem.
Na przykład. w C ++ do stworzenia kompilacji projektu potrzebujesz preprocesora (wstępne przetwarzanie plików źródłowych); kompilator (kompilacja plików źródłowych); linker (łączenie wszystkiego w plik wykonywalny - skompilowany kod, ikony, ciągi znaków, inne zasoby razem)
Ogólnie kompilacja polega na tłumaczeniu kodu napisanego w jednym języku na inny (np. Kod maszynowy).