Fișierul antet sau include fișierul - în limbajele de programare C și C ++ faylsoderzhaschy definirea tipurilor de date, structura, prototipuri funcționale, enumerările, macro-uri Preprocessor. Ea are o extensie implicită .h; uneori, pentru C ++ fișierele antet lingvistice utilizează extensia .hpp. Fișierul antet este utilizat prin încorporarea în fișier text Directiva preprocesor #include. Pentru a evita o repornire a aceluiași cod utilizat #ifndef directivă, #define, # endif
Fișierul antet poate conține, în general, orice construcții limbaj de programare, dar, în practică, codul executabil (cu excepția inline-funcții în C ++) în fișierele header nu sunt plasate. De exemplu, identificatorii care trebuie să fie declarate în mai mult de un fișier, este convenabil să se descrie într-un fișier antet, și apoi conectați-l după cum este necesar.
Scopul principal al utilizării fișierelor header - impunerea descrierilor non-standard [clarifica] tipuri și funcții în afara fișierului de cod principal. Pe același principiu bibliotecă construită: liste cuprinse în biblioteca de funcții și structuri / tipuri sunt utilizate de către acesta în fișierul antet, și codul sursă al bibliotecii poate fi amplasat separat de textul programului care utilizează funcția de bibliotecă sau chiar să nu fie disponibile.
De exemplu, în conformitate cu tradiția, în antetul fișierelor declară funcții ale bibliotecii standard C și C ++.
Avantajul fișierelor antet în primul rând pentru a simplifica compilator: fără antetele compilator și linker-ul face același loc de muncă, verificând dacă există o unitate de compilat Y X. funcție
Un dezavantaj este faptul că fișierele antet sunt mult mai lent - pentru a compila 10 C-fișier, fiecare dintre care este conectat un lung h fișier, compilatorul va trebui să treacă pe titlul de 10 ori. Pentru a face față acestei probleme, multe compilatoare folosesc un antet precompiled.
fișiere antet, împreună cu unele dintre C ++ obiecte (constante, inline-funcții, șabloane, statice-variabile) formează o construcție grea.
Dacă brusc programator schimbat c-dosar, uitând să facă același lucru cu h-fișier, linker-ul va emite un mesaj de eroare vag este nici un număr de linie. Acest lucru este vizibil mai ales în C ++, în cazul în care aceeași funcție poate avea un alt set de argumente, iar la nivel de verificare compilator nu funcționează. În cazul în care programatorul lăsat accidental structura neterminată în h-fișier, o eroare va fi destul de diferit și c- h-fișier.