Előre lefordított header

Előre lefordított header (született előre összeállított fejléceket.) - a média programozási nyelvek C és C ++ - oly módon, hogy gyorsítsák fel a összeállításához programok miatt a kezelés előtti úgynevezett fejléceket. amelyek tartalmazzák a modulok és interfészek, a szabályok szerint a programozási nyelv adatok, csatlakozik a program közvetlen beillesztése szöveget a szervezetben a fő program egy speciális előfeldolgozó irányelv #include. Előre lefordított fejlécek lemezen tárolt fájlként a belső formátum a fordító és újrafordítás a projekt ideje feldolgozás és kapcsolat jelentősen csökken.

C programozási nyelv egy külső modul használt header fájlokat. Ez leegyszerűsíti a fordító, és lehetővé teszi bizonyos rugalmasságot - és ez működött 20 évig, amíg a fejlécek már kicsi, és a fájlokat a projektben - egy kicsit. A bővítéssel a szoftver projektek fordításkor növekedni kezdett négyzetesen [1] - növekszik, mint a számos válogatás egységek. és a címek száma, amelyek kapcsolódnak az egyes egységet. A nagyon nagy projektek teljes recompilation úgy tíz perc, és általában végezni a éjszakai épít. mint a munkahelyen programozók.

Ezen túlmenően, a C programozási nyelv családjába tartozik az LR (1). és C fordítóprogramok olyan lassan, például, Pascal (ami LL (1)) [idézet Dátuma 1402].

Hogy csökkentse a fordításkor, és előre fejlécek fejlesztettek ki. Mivel fejlécek változnak sokkal ritkábban tartalmazó fájlok programkód (könyvtár - szinte soha), intelligens optimalizálási eszköz bizonyult elvégzésére előzetes feldolgozását a fejléc, és váltsátok fájlokat egy speciális fajtája, amely, ha a program fordítása, akkor csatlakozni, anélkül, hogy az első szakaszban a válogatás. Mivel a precompile fejléc teljes feldolgozása fordító kitéve csak a megváltozott a program egyes részeit. Azonban az előzetes összeállítás a cím nem mindig segít:

  1. Ha megváltoztatja a fejléc előre lefordított recompiled a teljes készlet.
  2. Teljes újrafordítás nyereség időt kapunk, ha ugyanazt használjuk, legalább két egység összeállítása.

Ezért, mint a szabály, hogy egy sor előre lefordított fejlécek közé mindenféle könyvtár, a nagy és ugyanakkor ritkán változnak.

Predkompiliruetsya mindent, ami akár az irányelv #pragma hdrstop.

H-fájlok összeállítása GCC automatikusan feltételezi, hogy szeretnék csinálni egy már lefordított header (vagy lehet megadni a parancssorban, -x) gombot. A legtöbb programozási membránokkal (pl Code :: Blocks) lehetővé teszi, hogy meghatározza, hogy mely fájlok vannak előre lefordított. A szokásos megoldás az, hogy „dump” a leggyakoribb, de ritkán futó címeket egy h-fájlt, és csatlakoztassa az első.

Hasonló a helyzet a GCC. Visual C ++ 6.0 verzió felett predkompiliruet fejlécet a standard neve - stdafx.h. (Lehetséges, hogy változtatni a nevét, a fordító opció). Az IDE projekt létrehozása varázsló segítségével választhatjuk ki, hogy az előre lefordított fejléceket kell. Használatuk fordító opció /Yu'stdafx.h „automatikusan hozzá, és az összeállítás minden fájl, amely nem tartalmaz #include«stdafx.h», leáll egy hibaüzenettel.

Kapcsolódó cikkek