Jawaban:
"Bangunan" adalah istilah yang cukup umum, dan dapat merujuk pada apa pun yang diperlukan untuk beralih dari bahan sumber yang dapat diedit (kode sumber, skrip, file data mentah, dll.) Ke produk perangkat lunak yang dapat dikirim. Bangunan dapat (dan biasanya memang) melibatkan beberapa langkah, seperti pra-pemrosesan, kompilasi, menautkan, mengonversi file data, menjalankan tes otomatis, pengemasan, dll.
"Kompilasi" lebih spesifik, dan hampir selalu mengacu pada suatu proses yang mengambil kode sumber sebagai inputnya, dan mengeluarkan sesuatu yang bisa dijalankan, biasanya kode mesin untuk mesin fisik atau virtual, atau kode sumber dalam bahasa yang berbeda.
Istilah-istilah ini sering digunakan secara bergantian, tetapi saya akan membedakannya dengan cara berikut:
Jadi, kompilasi sebenarnya adalah bagian dari bangunan.
Kompilasi dilakukan oleh kompiler, proses build bisa lebih kompleks.
Misalnya. di C ++ untuk membuat proyek yang Anda butuhkan preprocessor (preprocessing file sumber); kompiler (kompilasi file sumber); linker (menggabungkan semuanya menjadi executable - mengkompilasi kode, ikon, string, sumber daya lainnya bersama-sama)
Jadi kompilasi umumnya adalah menerjemahkan kode yang ditulis dalam satu bahasa ke bahasa lain (mis. Kode mesin).