Sebelum sebuah program di proses oleh compiler, maka akan ada pre-processor yang bertugas untuk melakukan macro processing dan file inclusion. Ketika seorang programmer mendefinisikan sebuah macro pada programnya, maka pre-processor akan menghapus macro tersebut dan menggantikannya secara langsung pada baris program yang ada di fungsi utama. Sebagai contoh pada potongan program di gambar 1.

gambar 1. Contoh program dengan macro

SATU dan MAX adalah contoh macro yang didefinisikan oleh programmer. SATU memiliki nilai 10, sedangkan MAX akan menerima parameter a dan b dan melakukan perbandingan antara nilai a dan b tersebut. Ketika program ini dijalankan maka macro tersebut akan dihapus dan digantikan langsung kedalam fungsi utama (lihat gambar 2).

gambar 2. Hasil dari macro processing

Fungsi lain yang juga dilakukan oleh pre-processor adalah file inclusion. Sebagai contoh kita ingin membuat sebuah file baru bernama “macroCollection.c” yang berisi macro dari SATU dan MAX pada penjelasan diatas ditambahkan dengan inisialisasi variable b. Kemudian kita akan meng-include file macroCollection.c tersebut ke dalam file utama kita (ContohPreprocessor.c).

gambar 3. File macroCollection.c

Ketika pre-processor membaca adanya file inclusion, maka pre-processor akan menggantikan inclusion file tersebut dengan isi dari file tersebut. Hasil dari file inclusion dari contoh diatas dapat dilihat pada gambar 5.

gambar 4. File ContohPreprocessor.c

Jika Anda mencobanya, dapat menggunakan perintah cpp (c processor) untuk melihat hasil dari yang pre-processor lakukan pada program yang dibuat. Setelah sintaks “cpp” dilanjutkan dengan nama file yang mau dieksekusi, contoh pada kasus ini kita dapat mengeksekusi file diatas dengan $ cpp ContohPreprocessor.c

gambar 5. Hasil file inclusion

Selamat mencoba.