header fájlok
A fejléc fájl vagy include file - a programozási nyelvek C és C ++ faylsoderzhaschy meghatározó adattípusok, szerkezet, funkció prototípusok, felsorolások, előfeldolgozó makrók. Ez egy alapértelmezett kiterjesztése .h; néha a C ++ nyelv header fájlokat használja a kiterjesztés .hpp. A fejléc fájl által használt bele azt a szöveges fájlt előfeldolgozó irányelv #include. Annak elkerülése érdekében, a számítógép újraindítása után ugyanazt a kódot használják #ifndef irányelv #define, #endif
A fejléc fájl általában minden olyan programozási nyelv konstrukciók, de a gyakorlatban a futtatható kódot (kivéve inline-funkciókat C ++) a fejléc fájlok nem kerülnek. Például az azonosítókat kell bejelenteni egynél több fájlt, célszerű leírni a fejléc fájlt, majd csatlakoztassa, ha szükséges.
A fő célja a használata fejlécfájllal - kivetése nem standard leírások [tisztázni] típusok és funkciók kívül a fő kód fájlt. Ugyanezen elv épített könyvtár közelében szereplő listát a könyvtár funkciók és struktúrák / típusok használhatók fel a header fájlban, és a forráskód a könyvtár lehet külön helyezkedik el a szövegben a program, amely a könyvtár funkciója, sőt lesz elérhető.
Például a hagyomány szerint, a header fájlok állapítsa funkciók a standard könyvtár a C és C ++.
Az előnye, hogy a fejléc fájlokat az első helyen, hogy egyszerűsítse a fordító: fejléc nélküli fordító és linker nem ugyanazt a munkát, ellenőrzi, hogy van egy Y egység összeállított funkció X.
A hátránya az, hogy a fejléc fájlok sokkal lassabb - összeállításához 10 c-fájlt, amelyek mindegyike össze van kötve egy hosszú H-fájl, a fordító át kell adni a cím szerinti 10-szer. Ahhoz, hogy megbirkózzon ezzel a problémával, sok fordító használni egy már lefordított fejlécet.
Header fájlok, valamint néhány, a C ++ objektumok (állandók, inline-funkciók, sablonok, a statikus változók) képeznek nehéz építési.
Ha hirtelen a programozó megváltozott c-fájlt, elfelejtve, hogy nem ugyanaz a h-fájl, a linker kiad egy homályos hibaüzenet nincs sorszám. Ez különösen érzékelhető C ++, ahol ugyanaz a funkciója is lehet különböző érvrendszer, és a fordító szintű ellenőrzés nem működik. Ha a programozó véletlenül maradt befejezetlen szerkezet h-fájl, egy hibaüzenet lesz egészen más C- és H-fájlt.