Kezdőoldal » Számítástechnika » Programozás » Mi a szerepük a programozásban...

Mi a szerepük a programozásban a header fájloknak?

Figyelt kérdés
Már egy ideje foglalkozom c++ programozással és szeretném megtudni, hogy mik is valójában a header fájlok. Annyit tudok hogy ezeked include-oljuk a program elején.

2012. jún. 16. 10:56
 1/2 anonim ***** válasza:

A külső függvénykönyvtárakban definiált függvényeken ezek révén tudod használni a programban.


Benne vannak a függvények, a paraméterezésükkel. A fordító ebből "tudja", hogy helyesen használod őket.

Ugyanis a fordításkor a forrásfájlokból object kódok keletkeznek előbb, ezeket később, a linker fűzi össze egy futtatható fájllá. -> A fordító nem tud a többi forráskód állományról, a .h fájlok biztosítják a helyes működést.


Ne túl szakszerűen de ez a lényeg kb.

2012. jún. 16. 11:04
Hasznos számodra ez a válasz?
 2/2 iostream ***** válasza:

Ahogy az első mondja. A C/C++ fordítási modell olyan, hogy fordítási egységekben gondolkodik. Ezek általában a .c/.cpp fájlok. Ha ebben használni akarsz egy osztályt vagy egy függvényt, amit nem a cpp-ben vezettél be, akkor vagy ki kell írnod a cpp-ben is a deklarációját, vagy be kell húznod valahonnan. Az #include semmi mást nem csinál, minthogy fogja a fájlt, és bemásolja az #include sor helyére a tartalmát.


Tehát:

van egy a.cpp-d, amiben van egy void a(); függvényed. A b.cpp-ben szeretnéd meghívni ezt az a függvényt. Ekkor két lehetőséged van, vagy beírod a b.cpp-be a hívás elé valahova, hogy void a();, vagy behúzod az a.hpp-t, ahova ugyanez van írva. Ekvivalens a két megoldás jelen esetben, hiszen mint említettem, az include is csak ennyit csinál. A lényeges rész akkor van, ha többen is használnák az a() függvényt. Ekkor ha változik pl az a deklarációja, mondjuk int a() lesz, akkor elég csak a headerben átírni, és minden cpp onnantól int-ként látja, míg fordítva ha valahol elfelejted átírni, linker hiba lesz.

2012. jún. 16. 11:38
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!