Arahan pragma C++

Arahan pragma C++

Pragma adalah direktif compiler yang memungkinkan kita untuk menambahkan informasi tambahan ke compiler sehingga dapat mengkompilasi kode secara efektif. Informasi ini, setelah ditambahkan, tidak berada di tangan kami untuk mengontrolnya dan dapat mengubah detail kompilasi. Arahan ini digunakan untuk mengakses ekstensi prosesor khusus yang terkait dengan kompiler.

Pragma dalam C++

Pragma dalam bahasa pemrograman ini adalah arahan dan disediakan oleh standar C++ untuk memberikan detail tambahan yang diperlukan untuk kompiler. Detail ini tidak dapat melewati argumen dalam program atau melalui logika kode. Derivatif ini bertanggung jawab untuk membawa tujuan khusus dan mengaktifkan atau menonaktifkan fitur di dalam program.

Bekerja dari pragma

Sekarang kita akan memahami cara kerja direktif pragma. Kita sudah tahu bahwa arahan pragmatis ini digunakan untuk memberi tahu kompiler tentang suatu peristiwa atau program yang akan terjadi. Arahan pragma ini dijalankan sebelum kompilasi dan kemudian diikuti oleh pemrosesan program. Dengan melakukan ini, pragma dapat memberi tahu kompiler untuk mengabaikan beberapa hal dan pada saat yang sama lebih memilih yang akan dikompilasi di masa depan. Kebanyakan programmer merekomendasikan menambahkan pragma dalam program baik hanya sekali. Arahan semacam ini sangat spesifik untuk kompiler karena bervariasi dari kompiler ke kompiler. Tidak semua kompiler menggunakan pragma yang sama. Ini berarti bahwa arahan Pragma juga bergantung pada engine dan sistem operasi.

Sintaks direktif Pragma

Ada dua jenis sintaks untuk pragma, yang diimplementasikan dalam sebuah program. Parameter dan kata kunci sama di kedua sintaks, tetapi perbedaannya adalah memulai pernyataan kode. Sintaks yang dikenal sebagai standar implementasi pragma dimulai dengan hashtag dan kata kunci pragma dengan string sederhana yang dikenal sebagai ‘token string’.

# pragma token-string

Sedangkan sintaks kedua menyerupai sintaks pertama, namun perbedaannya adalah operator sebelum kata kunci pragma adalah “__”.

# __pragma(token-string)

Sintaks ini menggunakan dua garis bawah sebelum kata kunci. Beberapa string token yang paling umum digunakan adalah exit, warn, dll. Kami telah menjelaskannya secara singkat di sini:

# pragma startup

Sebelum kita menggunakan kode program utama untuk dieksekusi, fungsi tertentu yang ada dalam pragma harus dijalankan terlebih dahulu karena ini menyebabkan kompiler menjalankan program dengan bertindak sebagai inisiatif untuk eksekusi.

# pragma exit

Seperti startup, fungsi yang ditentukan dalam pragma ini diperlukan untuk berjalan seperti sebelumnya sebelum program berakhir.

# pragma warn

Ini adalah fitur khusus. Fungsi-fungsi ini menyembunyikan peringatan error atau peringatan yang mengganggu yang sering ditampilkan setelah setiap eksekusi kode. Namun terkadang, beberapa peringatan penting juga diabaikan karena fitur ini.

# GCC dependency

Ini memeriksa tanggal file yang saat ini digunakan dan file lainnya juga. Jika file lainnya adalah yang terbaru, maka akan muncul peringatan untuk file tersebut.

# pragma GCC poison

Ini digunakan untuk memblokir pengidentifikasi dari kode sumber atau program.

Sekarang kita akan menggunakan masing-masing dari mereka dalam contoh untuk menjelaskan cara kerja direktif Plasma.

Startup plasma dan keluar pragma

Arahan ini digunakan untuk menentukan fungsi. Mengidentifikasi yang spesifik untuk dijalankan terlebih dahulu atau lebih baru. Arahan ini, seperti yang telah kami sebutkan sebelumnya, harus dijalankan sebelum program dimulai.

Demikian pula, dalam kasus penutupan, tepat sebelum program ada, arahan ini dijalankan terlebih dahulu. Di sini kita akan menambahkan arahan pragma dalam kode. Gambar di bawah ini berisi sekilas tentang keseluruhan kode, di mana kita telah menggunakan arahan secara langsung, tetapi sayangnya, program ini tidak berjalan dengan kompiler GCC dan G++. Jadi kami telah memperbarui program, kode sumber untuk mengeksekusi output yang diinginkan. Dua fungsi dengan program utama dideklarasikan di sini.

Output menunjukkan bahwa fungsi dan program utama dijalankan, dan jawabannya ditampilkan dengan menggunakan kompiler g++.

$ g++ -o p p.c
$./p

Pragma memperingatkan arahan

Ini digunakan untuk menyembunyikan pesan yang berisi peringatan yang ditampilkan selama kompilasi. Masalah peringatan ini berguna jika terjadi error yang mendesak dan besar. Fitur ini digunakan dalam kasus kode sumber besar, sehingga kami dapat menyelesaikan semua error dengan menyembunyikan semua peringatan yang ditampilkan. Jika kita mengubah sintaks sedikit, peringatan ini tidak tetap tersembunyi dan terlihat lagi.

# pragma warn +xxx (To show the warning)
# pragma warn -xxx (To hide the warning)

Kedua sintaks ini digunakan untuk menyembunyikan dan menampilkan peringatan. Peringatan yang dapat disembunyikan tercantum di bawah ini:

  • #Pragma warn –rvl: Direktif jenis ini menyembunyikan peringatan yang muncul saat kita mendesain fungsi untuk mengembalikan nilai tetapi bertindak sebagai ‘void’.
  • #pragma warn –par: Peringatan tersebut disembunyikan oleh arahan pragma ini yang dimunculkan ketika suatu fungsi tidak menggunakan parameter yang diteruskan ke sana.
  • #pragma warn –rch: Peringatan tersebut dipengaruhi oleh arahan yang dimunculkan ini; kita tidak dapat mencapai kode. Misalnya, jika kode ditulis setelah menggunakan pernyataan pengembalian, kode tersebut tidak dapat dijangkau.

Sekarang kita akan mengambil contoh. Dalam contoh ini, kami telah menginisialisasi ketiga arahan peringatan pragma.

Dalam program utama, kami menggunakan tipe pengembalian ‘int’ dan variabel ‘x’ dalam parameter. Sebuah kata sederhana ditampilkan hanya tidak ada pernyataan kembali yang digunakan. Demikian pula, variabel dalam argumen tidak digunakan di dalam fungsi atau program utama.

Jadi ada kemungkinan dua peringatan terjadi. Keduanya akan bersembunyi karena dua arahan. Salah satunya adalah pragma peringatkan –rvl, dan yang kedua adalah pragma peringatkan –par. Namun kedua peringatan ini akan berlangsung tanpa muncul. Dan karenanya program akan berhasil dikompilasi, dan jawabannya akan ditampilkan.

#Pragma GCC poison

Ini didukung oleh kompiler GCC dan membantu menghapus pengidentifikasi dari kode sumber sepenuhnya dari program. Sekarang kita akan menerapkan arahan ini sebagai contoh.

Dengan menggunakan direktif ini, kami juga telah menginisialisasi variabel di sini untuk digunakan dalam kondisi dan mencetak dua kata jika kondisinya berhasil.

Tetapi ketika Anda mengkompilasi kode dan menjalankannya, error berikut akan terjadi pada nomor baris tempat error itu terjadi.

#Pragma GCC dependency

Ini memungkinkan kita membandingkan tanggal file saat ini dan file kedua. Jika tanggal file lainnya adalah yang terbaru, maka pemberitahuan peringatan akan ditampilkan. Ini akan menguntungkan ketika file saat ini dibuat ulang dari file kedua.

# pragma GCC dependency "/usr/folder/time.h" rerun fixfolder

Kesimpulan

Artikel ‘turunan pragma C++’ bertujuan untuk memudahkan user dengan deskripsi dasar Pragma dan cara kerjanya dalam bahasa pemrograman, terutama di C++. Dua sintaks dijelaskan dengan semua token string yang mungkin, dan setiap contoh turunan dijelaskan dengan baik untuk mengenali para pemula dengan konsep yang mudah dipahami dengan penerapan setiap pragma di sistem operasi lingkungan Linux.

Related Posts