Jawaban:
Kompilasi adalah tindakan mengubah kode sumber menjadi kode objek.
Menautkan adalah tindakan menggabungkan kode objek dengan pustaka menjadi eksekusi mentah.
Membangun adalah urutan yang terdiri dari kompilasi dan penautan, dengan kemungkinan tugas lain seperti pembuatan pemasang.
Banyak kompiler menangani langkah penautan secara otomatis setelah mengompilasi kode sumber.
Dari wikipedia :
Di bidang perangkat lunak komputer, istilah membangun perangkat lunak mengacu pada proses mengubah file kode sumber menjadi artefak perangkat lunak mandiri yang dapat dijalankan di komputer, atau hasil dari melakukannya. Salah satu langkah terpenting dari membangun perangkat lunak adalah proses kompilasi di mana file kode sumber diubah menjadi kode yang dapat dieksekusi.
Sementara untuk program sederhana , prosesnya terdiri dari satu file yang sedang dikompilasi, untuk perangkat lunak yang kompleks, kode sumber dapat terdiri dari banyak file dan dapat digabungkan dengan cara yang berbeda untuk menghasilkan banyak versi yang berbeda.
Build dapat dilihat sebagai skrip, yang terdiri dari banyak langkah - langkah utama adalah mengompilasi kode. Orang lain bisa
Mereka sering digunakan dengan arti yang sama. Namun, "build" juga dapat berarti proses kompilasi dan penautan keseluruhan aplikasi secara penuh (dalam kasus misalnya C dan C ++), atau bahkan lebih, termasuk, antara lain
Ada sistem seperti Maven , yang menggeneralisasi ini dengan konsep daur hidup , yang terdiri dari beberapa tahap, menghasilkan artefak yang berbeda, kemungkinan menggunakan hasil dan artefak dari tahap sebelumnya.
Dari pengalaman saya, saya akan mengatakan bahwa "kompilasi" mengacu pada konversi satu atau beberapa file sumber yang dapat dibaca manusia menjadi kode byte (file objek di C) sementara "membangun" mendenominasi seluruh proses kompilasi, penautan, dan apa pun yang diperlukan selesai dari seluruh paket atau proyek.
Kebanyakan orang mungkin akan menggunakan istilah tersebut secara bergantian. Anda bisa melihat satu nuansa: kompilasi hanyalah langkah di mana Anda melewatkan beberapa file sumber melalui kompilator (gcc, javac, apa saja).
Membangun dapat didengar sebagai proses yang lebih umum untuk memeriksa sumber, membuat folder target untuk artefak yang dikompilasi, memeriksa ketergantungan, memilih apa yang harus dikompilasi, menjalankan tes otomatis, membuat tar / zip / ditributions, mendorong ke ftp , dll ...