Raih Semua Dengan Teori dan Praktik

Seperti namanya Preprocessors adalah program yang memproses kode sumber kita sebelum kompilasi. Ada sejumlah langkah yang terlibat antara menulis program dan menjalankan program di C / C ++. Mari kita lihat langkah-langkah ini sebelum kita benar-benar mulai belajar tentang Preprocessors.

 

preprocessors

Anda bisa melihat langkah-langkah antara diagram di atas. Kode sumber yang ditulis oleh pemrogram disimpan dalam file program.c. File ini kemudian diproses oleh preprocessors dan file source code yang diperluas dihasilkan bernama program. File yang diperluas ini disusun oleh compiler dan sebuah file kode objek dihasilkan bernama program.obj. Akhirnya linker menghubungkan file kode objek ini ke kode objek fungsi library untuk menghasilkan file program.exe yang dapat dieksekusi.

Program preprocessor menyediakan petunjuk preprocessors yang memberitahu compiler untuk melakukan preprocess kode sumber sebelum mengkompilasi. Semua direktif preprocessor ini dimulai dengan simbol ‘#’ (hash). Simbol (‘#’) ini di awal sebuah pernyataan dalam program C / C ++ menunjukkan bahwa ini adalah perintah pra-prosesor. Kami dapat menempatkan petunjuk pra prosesor ini di manapun dalam program kami. Contoh dari beberapa perintah preprocessor adalah: #include , #define#ifndef etc.

Ada 3 jenis utama perintah preprocessor:

  1. Macros
  2. File Inclusion
  3. Conditional Compilation

Sekarang mari kita pelajari masing-masing arahan ini secara rinci.

Macros: Macros adalah bagian dari kode dalam sebuah program yang diberi beberapa nama. Kapanpun nama ini ditemui oleh kompilator maka kompilator mengganti namanya dengan potongan kode yang sebenarnya. Petunjuk ‘#define’ digunakan untuk mendefinisikan macros. Sekarang mari kita memahami definisi macros dengan bantuan sebuah program:

aa

Output:

bb

 

Dalam program di atas, ketika kompilator mengeksekusi kata LIMIT itu menggantinya dengan 5. Kata ‘LIMIT’ dalam definisi macros disebut template macros dan ‘5’ adalah ekspansi macros. Catatan: Tidak ada tanda titik dua (‘;’) pada akhir definisi macros. Macros definisi tidak perlu semi-colon untuk mengakhiri. Macros dengan argumen: Kita juga bisa menyampaikan argumen ke macros. Macros didefinisikan dengan argumen bekerja sama seperti fungsi. Mari kita pahami ini dengan sebuah program:

cc

Output :

cccc

Kita dapat melihat dari program di atas bahwa setiap kali compiler menemukan       AREA (l, b) dalam program ini akan menggantinya dengan pernyataan (l * b). Tidak hanya itu, nilai-nilai yang diteruskan ke template makro AREA (l, b) juga akan diganti dalam pernyataan (l * b). Oleh karena itu AREA (10,5) akan sama dengan 10 * 5.

File Inclusion: Jenis perintah preprocessor ini memberitahu compiler untuk menyertakan file dalam program kode sumber. Ada dua jenis file yang bisa disertakan oleh pengguna dalam program ini:

Header File or Standard files: File-file ini berisi definisi fungsi yang telah ditentukan seperti printf (), scanf (), dll. File-file ini harus disertakan untuk bekerja dengan fungsi ini. Fungsi yang berbeda dideklarasikan di file header yang berbeda. Misalnya, standar I / O ada di file ‘iostream’ sedangkan fungsi yang melakukan operasi string ada dalam file ‘string’.
Syntax:

#include< file_name >

dimana nama file adalah nama file yang akan disertakan Tanda kurung ‘<‘ dan ‘>’ memberitahu kompiler untuk mencari file dalam direktori standar.

file yang ditentukan pengguna: Bila sebuah program menjadi sangat besar, praktik yang baik untuk membaginya menjadi file yang lebih kecil dan disertakan kapanpun dibutuhkan. Jenis file ini adalah file yang ditentukan pengguna. File-file ini dapat disertakan sebagai:

#include"filename"

Conditional Compilation: Petunjuk Kompilasi Bersyarat adalah jenis arahan yang membantu menyusun bagian program tertentu atau untuk melewatkan kompilasi beberapa bagian program tertentu berdasarkan beberapa kondisi. Hal ini bisa dilakukan dengan bantuan dua perintah preprocessing ‘ifdef’ dan ‘endif’.
Syntax:

ifdef macro_name
statement1;
statement2;
statement3;
.
.
.
statementN;
endif

Jika makro dengan nama sebagai ‘macroname’ didefinisikan maka blok pernyataan akan dijalankan secara normal tetapi jika tidak ditentukan, compiler hanya akan melewati blok pernyataan ini.

 

 

 

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

Awan Tag

%d blogger menyukai ini: