Kezdőoldal » Számítástechnika » Programozás » Miért jó ha a függvény deklará...

Miért jó ha a függvény deklarációk és definíciók el vannak különítve hpp és cpp fájlokban? Miért jobb ez, mintha mindent a header-be írnék? Fordításnál ilyenkor mi történik?

Figyelt kérdés
2018. ápr. 15. 17:04
 1/4 anonim válasza:
0%
Strukturáltabb lesz a kód, ezálltal átláthatóbb
2018. ápr. 15. 17:13
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
100%
Dinamikusan fordított függvénykönyvtárak esetében tekintetében csak a header-re van szükség ahhoz, hogy tudja a fordító, hogy hogyan hivatkozzon a másik binárisban található kódokra, nem volna célszerű feleslegesen újrafordítani mindent programonként.
2018. ápr. 15. 17:28
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Fordításnál nincs igazán különbség, a hpp és cpp fájlok ugyanolyan forrásfájlok a fordítónak. Viszont az egész függvénykönyvtár, tárgykód, linker, stb. struktúra megkívánja, hogy a külső bináris (tárgykód) hívás fordításánál a hívási szekvenciához, relatív címekhez, stb. szükséges infók legyenek megadva (header), amiben lehetőleg ne legyen fordítandó kód, csak deklaráció.


A kérdés egyébként ott kezdődik, hogy miért kell több fordítási egység, miért kellenek tárgykódok és linker, mi történik, amikor egyik fordítási egységből hívjuk a másikban lévő kódot (ill. a fordító ilyen hívást fordít). Ha ezt megérted, akkor a header dolgot is érteni fogod.

2018. ápr. 15. 20:19
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

"Dinamikusan fordított függvénykönyvtárak..."

Igazából statikus esetben is ez a helyzet.

2018. ápr. 16. 17:47
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!