12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

140 POGLAVLJE 8. PREPROCESORSKE NAREDBE#define DATOTEKA "bsd.h"#elif SYSTEM == MSDOS#define DATOTEKA "msdos.h"#else#define DATOTEKA "default.h"#endifOvdje se testira ime SYSTEM kako bi se uključila prava datoteka zaglavlja.U razvoju programa korisno je ispisivati što veći broj medurezultata kakobismo mogli kontrolirati korektnost izvršavanja programa. Nakon što je programzavršen i testiran sav suvišan ispis treba eliminirati. U tome nampomaže uvjetno uključivanje kôda kao što se vidi na sljedećem primjeru:int x;......scanf("%d",&x);#ifdef DEBUGprintf("Debug:: x=%d\n",x);#endifUkoliko je varijabla DEBUG definirana, učitana vrijednost će biti ispisana.Prevodioci pod unix-om obično imaju -D opciju, koja se koristi u obliku-Dsimbol, i koja dozvoljava da se simbol definira na komandnoj liniji. Naprimjer, pretpostavimo da je program koji sadrži prikazani dio kôda smještenu datoteku prog.c. Tada će kompilacija naredbomcc -o prog prog.cproizvesti program u koji ispis varijable x nije uključen. Kompilacija s naredbomcc -DDEBUG -o prog prog.cdat će izvršni kôd koji uključuje printf naredbu, jer je sada varijabla DEBUGdefinirana.Tehnika koja se koristi u razvoju programa je sljedeća: svi ispisi medurezultataubacuju se izmedu para #ifdef DEBUG i #endif naredbi i programse u razvojnoj fazi kompilira s -DDEBUG opcijom. Kada je program konačnozavršen i testiran kompilira se bez -DDEBUG opcije. Na taj način se iz izvršnogkôda izbacuju sve suvišne printf (i ostale) naredbe.Napomena. Pomoću #if naredbe možemo isključiti dio koda iz programana sljedeći način:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!