Sabtu, Juni 27, 2020

Bagaimana preprosessor bekerja pada bahasa C

Preprosesor adalah sistem perangkat lunak atau program komputer yang dirancang untuk menjalankan perangkat keras komputer dan aplikasi program. Preprosesor melakukan preprosesing dari bahasa tingkat tinggi. Preprosesing adalah tahap awal dari sistem proses bahasa. Sistem proses bahasa menerjemahkan bahasa tingkat tinggi ke bahasa tingkat mesin atau kode mesin absolut supaya dapat dimengerti oleh mesin.

Preprosesor tidak mengetahui aturan scope dari bahasa C. Preprosesor direktif seperti #define akan bekerja selama program diaktifkan hingga program berakhir, seperti diperlihatkan pada gambar 1.

preprosesor
Gambar 1 preprosesor

Sebuah preprosesor umumnya melakukan tiga tugas pada bahasa tingkat tinggi:

satu, Menghapus komentar: Preprosesor akan menghapus semua kode komentar. Sebuah komentar hanya ditulis untuk programmer untuk dapat memahami bahasa program yang dibuat. Sehingga, komentar tersebut akan dihapus karena mesin tidak memerlukan kode komentar. Preprosesor akan menghapus semua komentar yang tidak diperlukan ketika program dieksekusi. 

dua, File inclusi: Termasuk semua file pustaka yang dibutuhkan oleh program. Pada bahasa tingkat tinggi dibuat #include yang merupakan direktif preprosesor yang memberitahukan untuk memasukkan konten dari pustaka file spesifik. Contoh, #include akan membertahu preprosesor untuk memasukkan semua konten pustaka dari file stdio.h. Seperti contoh '#include "stdio.h" '.

catatan: Jika nama file ditutup dengan menggunakan simbol angle brackets, maka file yang dicari untuk standar kompilator juga menyertakan path. Jika nama file ditutup dengan double quotes, maka path pencarian akan diperluas termasuk sumber direktori saat ini.

tiga, Macro expansi: Makro dapat disebut juga sebagai fungsi kecil yang tidak akan overhead pada proses. Jika ingin membuat sebuah fungsi yang memiliki pendefinisian kecil yang akan dipanggil secara rekursif, akan lebih baik jika menggunakan makro pada fungsi tersebut. Sehingga pendefinisian makro tersebut dapat diselesaikan oleh preprosesor.

#define SI 1000

adalah contoh sederhana dari sebuah makro.

Terdapat dua tipe dari makro: Object-like yang tidak mengambil parameter dan fungsi-like yang memerlukan parameter.

// object-like macro
#define        
// function-like macro          
#define ()  

Dapat juga dilakukan penghapusan definisi makro dengan #undef:

// delete the macro
# undef  

Dapat dibuat makro multibaris sama seperti fungsi, tetapi setiap statement diakhiri dengan "\".

#include <stdio.h> 

#define MACRO(num, str) {\ 
printf("%d", num);\ 
printf(" is");\ 
printf(" %s number", str);\ 
printf("\n");\ 
}





Related Posts

Bagaimana preprosessor bekerja pada bahasa C
Oleh

"semoga yang memberikan komentar diberikan berkah kebaikan dari Allah, dijauhkan dari kejahatan, dan diberikan pahala ilmu dan amal jariyah dari sepenggal kata yang ia tinggalkan amiin :) "