Skip to main content

Apa itu kompilasi bersyarat?

Dalam pemrograman komputer, kompilasi bersyarat menggambarkan kemampuan kompiler perangkat lunak atau prosesor kode sumber untuk memasukkan atau mengabaikan perintah atau blok kode tertentu berdasarkan instruksi spesifik bahasa yang secara teknis tidak merupakan bagian dari spesifikasi bahasa pemrograman inti.Perintah yang digunakan untuk memicu kompilasi bersyarat dalam suatu program yang sering disebut arahan pra-prosesor, meskipun mereka juga dapat dikenal sebagai arahan kompiler, komentar bersyarat atau definisi bersyarat.Bergantung pada kompiler atau bahasa yang digunakan, arahan bersyarat dapat berupa variabel atau makro yang ditentukan pengguna, atau mereka juga dapat berupa variabel sistem yang ditetapkan oleh kompiler atau sistem operasi.Kompilasi bersyarat yang sering digunakan untuk mengkonfigurasi satu set file kode sumber sehingga dapat dikompilasi di bawah lingkungan atau sistem operasi yang berbeda tanpa harus bertukar atau mengubah file sumber.Satu bahasa ke bahasa lain, tetapi mereka umumnya adalah makro atau ekspresi meta-data lainnya di luar ruang lingkup variabel program normal.Dalam bahasa seperti C, variabel biasanya adalah makro yang dibaca oleh pra-prosesor.Sebagian besar waktu, makro tidak dapat diakses dengan kode sumber program yang dapat dieksekusi aktual, meskipun mereka ada dalam file sumber yang sama.

Arahan yang digunakan untuk menguji variabel bersyarat yang ditentukan adalah dasar dan mengikuti logika yang sama dengan IF-Lalu pernyataan.Tes dasar yang dapat dilakukan untuk kompilasi bersyarat adalah apakah nilai didefinisikan, tidak didefinisikan atau, dalam beberapa kasus, apakah dua variabel yang ditentukan setara.Variabel atau makro itu sendiri umumnya tidak memiliki nilai signifikansi apa pun, karena tindakan mendefinisikannya adalah apa yang diperiksa arahan.Namun, dengan beberapa bahasa dan kompiler, nilai variabel yang ditentukan dapat menjadi masalah jika mereka dievaluasi untuk keadaan boolean.

Ketika arahan kompiler bertemu yang digunakan untuk kompilasi bersyarat, arahan dievaluasi untuk melihat apakah mereka menguji sebagai benar atau salah.Jika benar, kode yang mengikuti arahan dikompilasi seperti biasa;Jika tidak, kompiler akan sepenuhnya melewatkan kode yang terkandung di bawah arahan.Ini tidak seperti pernyataan logika bersyarat dalam kode program yang dapat dieksekusi itu sendiri karena, bahkan jika logika memiliki blok kode yang tidak dapat dieksekusi, itu masih akan ditafsirkan dan disusun dalam banyak kasus.Dengan arahan pra-prosesor bersyarat, kode dilewati tidak pernah dimasukkan, ditafsirkan atau disusun.Juga harus dicatat bahwa begitu pra-prosesor telah mengevaluasi semua variabel dan arahan bersyarat, mereka tidak dikompilasi dengan sisa program, karena mereka dimaksudkan hanya untuk memberikan arahan kepada kompiler.

Kompilasi bersyarat paling sering adalahDigunakan untuk memasukkan atau mengecualikan kode yang khusus untuk sistem operasi atau lingkungan tertentu.Ini berarti perpustakaan yang ada dalam satu sistem operasi dapat dimasukkan secara kondisional jika arahan menentukan program sedang disusun di bawah sistem operasi itu.Bergantian, arahan juga dapat digunakan untuk memasukkan atau mengecualikan kode berdasarkan variabel yang ditentukan pengguna.Ini dapat dilakukan sehingga kode debugging atau profil tidak termasuk dalam versi final suatu program, atau fitur tertentu dapat diaktifkan atau dinonaktifkan tanpa harus mempertahankan salinan kode yang terpisah.