Konsep dalam Definisi ABC
Bermacam Macam / / July 04, 2021
Oleh Guillem Alsina González, pada Sep. 2017
Bagaimana kita bisa bergaul dengan seseorang yang tidak memiliki bahasa yang sama dengan kita? Melalui penerjemah. Fungsi terjemahan inilah yang melakukan a penyusun berubah menjadi kode kode sumber yang dapat dieksekusi yang ditulis oleh seorang programmer.
Kompilasi adalah proses dimana sebuah program yang ditulis dalam bahasa tingkat tinggi adalah diterjemahkan ke kode mesin yang digunakan oleh arsitektur komputer tertentu, untuk eksekusinya langsung.
Oleh karena itu, dan sesuai dengan penjelasan yang baru saja kami usulkan, sistem ini memerlukan pilihan a Arsitektur tujuan, yang mungkin berbeda dalam setiap kasus dan akan memaksa kita untuk mengkompilasi secara terpisah untuk masing-masing arsitektur yang berbeda di mana kita ingin program kita dijalankan.
Jadi, misalnya, kita dapat melanjutkan pada program tertentu untuk arsitektur x86 32-bit, x86 64-bit, PowerPC atau ARM juga membedakan 32 dan 64 bit, tergantung pada jenis perangkat yang kita inginkan menjalankannya.
Selain itu, kita juga harus mempertimbangkan sistem operasi yang berbeda, bahkan jika kita bekerja untuk platform yang sama perangkat keras, karena masing-masing memiliki cara yang berbeda untuk berinteraksi dengan mesin fisik
Mari kita ambil platform x86 64-bit sebagai contoh. Kami mungkin ingin mengkompilasi untuk jendela, GNU / Linux atau macOS, atau untuk masing-masing dari mereka, yang menyiratkan tiga proses kompilasi terpisah.
Terkadang, ini memaksa kami untuk sedikit mengubah kode sumber, sering kali menyimpan tiga versi terpisah (atau lebih, tergantung pada kasus) agar mereka dapat berinteraksi dengan benar dengan kekhasan dan perbedaan platform tujuan.
Proses kompilasi mengikuti serangkaian langkah, seperti mendeteksi kesalahan sintaksis dalam kode sumber, lalu a pra-diproses untuk mengetahui sumber daya yang dibutuhkan program, dan akhirnya tautan dengan perpustakaan dan sumber daya yang diperlukan untuknya eksekusi.
Dengan cara ini, mengajukan executable berisi semua sumber daya diperlukan untuk eksekusinya, dan instruksi yang diperlukan untuk mengakses sumber daya eksternal, seperti pustaka kode bersama (bersama).
Proses kompilasi dilakukan dengan alat atau alat tertentu (compiler), meskipun ini umum untuk diintegrasikan ke dalam lingkungan pengembangan (IDE), sehingga memudahkan penggunaannya.
Setiap bahasa dari pemrograman Ini memiliki kompilernya sendiri, meskipun untuk waktu yang lama, kompiler yang sesuai dengan bahasa dan lingkungan telah mampu menghasilkan executable untuk berbagai platform. perangkat lunak 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 that sistem operasi di mana mereka dieksekusi, ada seorang juru bahasa.
Dengan menghindari proses kompilasi, jika penerjemah tersedia untuk berbagai platform, akan memungkinkan untuk menjalankan program secara langsung pada masing-masing program, biasanya tanpa perubahan.
Lain fokus alternatif, di tengah-tengah antara bahasa yang dikompilasi dan ditafsirkan, adalah bahasa yang membutuhkan mesin virtual untuk dijalankan, misalnya Java.
Bahasa pemrograman yang berjalan di atas lapisan virtualisasi (mesin virtual) memerlukan proses perantara yang mirip dengan kompilasi, tetapi itu menghasilkan kode yang tidak dapat dieksekusi secara langsung, meskipun lebih dioptimalkan daripada yang dieksekusi oleh bahasa ditafsirkan.
Dalam kasus ini, memang memerlukan proses yang serupa dalam bentuk dengan kompilasi, tetapi itu memberikan hasil yang berbeda dan itu masih membutuhkan, bagaimanapun, instalasi dari a waktu berjalan di sistem operasi tempat kita ingin menjalankan program kita.
Foto: Fotolia - Alexander Pokusay / Onot
Topik dalam Kompilasi