Kezdőoldal » Számítástechnika » Programozás » Muszáj e header-t alkalmazni?

Muszáj e header-t alkalmazni?

Figyelt kérdés

Teljesen kezdő vagyok, és nem is akarok annyira mélyen belemenni a programozásba, viszont lenne egy kérdésem. A nyelv C++, ahogy észrevettem, a header egy hivatkozás egy másik már megírt kódra. Muszáj e alkalmazni vagy az is jó ha a header kódját bemásolom az én kódom elé, vagy az nem fog működni?

Egy másik kérdés ha már másolás, ha több kódrészletet bedobálok a kódba, egy mikrokontroller tudni fogja e hogy a kód melyik részét, hol és mikor kell keresse egyes elemek működtetéséhez?



2021. júl. 25. 11:34
 1/4 anonim ***** válasza:
59%
Nem muszáj, de erősen javallott. A header file-ok célja az, hogy elkülönítsék az osztályok interfészét (többé-kevésbé) az implementációjától. Ez azt okozza, hogy amikor behúzol egy header file-t, akkor csak a benne tárolt programszerkezet struktúráját ismerteted a fájlodban, a pontos implementációt nem. Fordítási időben ez sok időt tud neked megspórolni, mert ha módosítod egy osztály implementációját (de a header fájlt nem), akkor csak azt az implementációt kell újrafordítanod, a header fájlt behúzó többi kódrészletet nem.
2021. júl. 25. 15:52
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
100%

Nem muszály, az #include direktíva sem tesz mást, mint odamásoltatja a fájl tartalmát. Ha kézzel másolod oda, az is éppúgy működni fog. Csak minek másolnád oda, amikor elég lenne odaírni, hogy include? Továbbá minek tároljunk kódrészleteket kétszer egy lemezen?

A második kérdésedre: a kódrészleteket összeilleszteni nem a mikrokontrollernek kell tudnia, hanem a fordítóprogramnak, a mikrokontroller már egyértelmű, készen lévő utasítássorozatot kap. Azt, hogy a fordítónak sikerült-e, a hibaüzenetekből lehet tudni; jelzi, ha nem. Ha betartod a nyelv szabályait, akkor sikerülni fog.

2021. júl. 25. 16:14
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

"ahogy észrevettem, a header egy hivatkozás egy másik már megírt kódra"

A header azt tudatja a fordítóval, hogy az adott fordítási egységben lévő hivatkozásokat milyen módon implementálja, pl. változók, függvények, stb. Ehhez nem kell tudnia, hogy pl. egy függvény mit csinál, de azt igen, hogy milyen típusú, függvény esetén milyen paramétereket vár, milyen osztályhoz tartozik, stb. Ezeket tartalmazza a header.

Ennek akkor van értelme, ha több fordítási egységből (.cpp fájlból ill. tárgykódból) áll össze a kész kód. Így kap információt az egyik tárgykód (fordítója) a másikra való hivatkozásról.

2021. júl. 26. 13:05
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
*** ..az adott fordítási egységben lévő >külső< hivatkozásokat, tehát amik más fordítási egységben lévő dolgokra hivatkoznak. Legalábbis ez a fő célja.
2021. júl. 26. 13:06
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!