CyberPress.Sopron

(http://www.cyberpress.hu/)

Rovat: Dr. Bit

2001. február 23., péntek 16:35


Programozzunk együtt!

A preprocesszor programozása I.

A preprocesszor programozása I.

 

Mi is a preprocesszor? A C és C++ programok fordítása előtt lefutó szövegfeldolgozó program. Mit is jelent ennek a programozása?
A forráskódban több dolgot módosíthatunk: beépíthetünk fájlokat, definiálhatunk feltételes fordítást stb.
A preprocesszor programutasításait a sor elején lévő '#' jel jelzi. De nézzünk meg példákat:
'#include ' : Ezzel az utasítással egy teljes fájlt építhetünk be a forráskódunkba úgy, mintha ott beírva szerepelne. Ezt az utasítást használjuk a C/C++ header fájljainak beépítésére is: Pl: '#include '

'#define KONSTANS "ÉRTÉK": Ennek az utasításnak a hatására minden olyan 'KONSTANS' karakterlánc, amely nem szerepel "-jelek között, az ki lesz cserélve az "ÉRTÉK" karakterláncra. Pl:

// peldaprogram1.c - Egyszeru pelda a preprocesszor hasznalatara
#include

#define SZOVEG "Ez a szoveg lesz kiirva!!!"
void main(void)
{
printf(SZOVEG);
}
// peldaprogram vege

Nos, mi is fog történni? A preprocesszor először kicseréli a 'printf' utasítás paramétereként megadott SZOVEG karakterláncot az
"Ez a szoveg lesz kiirva!!!" karakterláncra, majd a compiller lefordítja a programot. Ennek révén a programot lefuttatva a "Ez a szoveg lesz kiirva!!!" karakterlánc lesz kiírva. Hol lehet ezt még felhasználni? Például kiváló lehetőség arra, hogy egy programból különböző nemzeti változatot készítsünk: Hogy hogyan: Egyszerűen kirakjuk a kiirandó sztringeket egy külön header (fejléc) fájlba, a '#define'-kel pedig definiáljuk a kiírandó sztringeket: így, például egy angol nyelven megírt programot könnyedén, az egyik fejlécfájl megszerkesztésével, majd a program újrafordításával átültethetünk magyar nyelvre.

A következő cikkben tovább folytatom a preprocesszor programozásának a témáját.