Nem hiszem, hogy jat talltam fel, de n gy csinlom:
Minden .H fjlnak s .C fjlnak van sajt #define-je. A .H-hoz tartoz azrt kell, hogy ne fordtdjon le tbbszr ugyan az a definci akkor sem, ha egy adott .H-ra tbbszr hivatkoznak a programban. A .C-beli definci csak addig l, amg meghvja a sajt .H fjljt. gy az adott .H fjl tudja, hogy mikor hivatkozik r a sajt .C-je, s mikor valami ms. Ezt figyelve tudja extern-el, vagy anlkl definilni ugyan azt gy, hogy a ktfle defincit kzel lehet tartani egymshoz, mshol pedig nem kell mr definilni. Illetve definilhat mg teljesen eltr dolgokat fggen attl, hogy honnan hivatkoznak r. Persze figyelni kell, hogy ami nem extern, az sszesen csak egyszer legyen lefordtva.

A (kiveszett) pldban a
main.c a fprogram
kozos_hw.h az ltalnos dolgokat definilja s ami hardver specifikus. Boldog - boldogtalan erre hivatkozik.
common.c s .h - ltalnos rutinok, amiket a program brmely rszbl lehet hivogatni.
disp_5x7_stm.c s .h - kijelz kezel rutinjai egy helyen.
glcdfont.c s .h - fontkszlet. Ebben nincs program, csak egy tmb, amit a disp_5x7_stm.c hasznl. Ennl van globliss tett vltozra plda, s arra, hogy ms forrsfjlokban lv rutinok is tudhassanak rla. (Itt most csak a disp-nek kell ltnia, ezrt csak onnan hivatkozik r a program.)


