Definisi Kompilasi

Bagaimana kita bisa bergaul dengan seseorang yang bahasanya tidak sama dengan kita? Melalui penerjemah. Fungsi terjemahan ini adalah apa yang dilakukan oleh kompiler untuk mengubah kode sumber yang ditulis oleh seorang programmer menjadi kode yang dapat dieksekusi.

Kompilasi adalah proses dimana program yang ditulis dalam bahasa tingkat tinggi diterjemahkan ke dalam kode mesin yang digunakan oleh arsitektur komputer tertentu, untuk eksekusi langsung.

Oleh karena itu, dan sesuai dengan penjelasan yang baru saja kita kemukakan, sistem ini memerlukan pilihan arsitektur tujuan , yang mungkin berbeda dalam setiap kasus dan yang akan memaksa kita untuk mengkompilasi secara terpisah untuk masing-masing arsitektur berbeda yang kita inginkan untuk program kita. untuk berlari.

Jadi, misalnya, kita dapat melanjutkan pada program tertentu untuk arsitektur 32-bit x86, 64-bit x86, PowerPC atau ARM, juga membedakan 32 dan 64 bit, tergantung pada jenis perangkat yang ingin kita jalankan.

Selain itu, kita juga harus mempertimbangkan sistem operasi yang berbeda, meskipun kita bekerja untuk platform perangkat keras yang sama , karena masing-masing memiliki cara yang berbeda untuk berinteraksi dengan mesin fisik.

Mari kita ambil platform x86 64-bit sebagai contoh. Kita mungkin ingin mengkompilasi untuk Windows , GNU / Linux atau macOS, atau untuk masing-masing dari mereka, yang menyiratkan tiga proses kompilasi terpisah.

Terkadang, ini memaksa kita untuk sedikit mengubah kode sumber, sering kali menyimpan tiga versi terpisah (atau lebih, tergantung pada kasusnya) agar mereka dapat berinteraksi dengan benar dengan kekhasan dan perbedaan platform target.

Proses kompilasi mengikuti serangkaian langkah, seperti deteksi kesalahan sintaksis dalam kode sumber, kemudian pra-pemrosesan untuk mengetahui sumber daya yang dibutuhkan program, dan terakhir tautan dengan perpustakaan dan sumber daya yang diperlukan untuk eksekusinya.

Jadi file yang dibuat dapat dieksekusi yang berisi semua sumber daya yang diperlukan untuk eksekusi, dan instruksi untuk akses ke sumber daya eksternal seperti perpustakaan codeshare ( dibagikan ).

Proses kompilasi dilakukan dengan alat atau alat tertentu (kompiler), meskipun biasanya diintegrasikan ke dalam lingkungan pengembangan (IDE), sehingga memudahkan penggunaannya.

Setiap bahasa pemrograman memiliki kompilernya sendiri, meskipun untuk beberapa waktu, bahasa dan lingkungan kompiler yang sesuai, mampu menghasilkan executable untuk berbagai platform perangkat lunak yang berbeda.

Apakah ada opsi alternatif untuk proses pembuatan? Ya, dan itu adalah bahasa yang ditafsirkan.

Bahasa yang ditafsirkan adalah bahasa yang diterjemahkan saat runtime, dan tidak dikompilasi.

Oleh karena itu, kode sumber mereka selalu tersedia, dan yang mereka butuhkan adalah di sistem operasi yang mereka jalankan, ada juru bahasa.

Dengan menghindari proses kompilasi, jika interpreter tersedia untuk beberapa platform, program dapat dijalankan secara langsung di setiap platform, biasanya tanpa perubahan.

Pendekatan alternatif lain , di tengah-tengah antara bahasa yang dikompilasi dan ditafsirkan, adalah yang memerlukan mesin virtual untuk dijalankan, misalnya Java.

Bahasa pemrograman yang berjalan pada lapisan virtualisasi (mesin virtual) memerlukan proses perantara yang mirip dengan kompilasi, tetapi menghasilkan kode yang tidak dapat dieksekusi secara langsung, meskipun lebih dioptimalkan daripada yang dieksekusi oleh bahasa yang ditafsirkan.

Dalam kasus ini, proses yang sama dengan yang kompilasi diperlukan, tetapi yang memberikan hasil yang berbeda dan yang masih membutuhkan, dalam hal apapun, instalasi dari sebuah runtime dalam sistem operasi di mana kita ingin menjalankan program kita..

Foto: Fotolia – Alexander Pokusay / Onot

Topik dalam Kompilasi

Menarik lainnya

© 2023 Pengertian.Apa-itu.NET