Can you summarize the following document?
        
  Hlavičkové soubory běžně obsahují dopředné deklarace tříd, funkcí, proměnných a jiných identifikátorů. Programátor, který potřebuje deklarovat typový identifikátor ve více než jednom zdrojovém souboru, může identifikátor umístit do hlavičkového souboru. Na soubor je pak možné se odkazovat ze zdrojových souborů pomocí direktivy preprocesoru (codice_1).

  Nejmodernější programovací jazyky umožňují rozdělit programy do menších částí (jako jsou třídy a metody) a ty rozdělit do více překladových úloh (typicky ve formě zdrojových souborů), které lze poté kompilovat odděleně. Jakmile je potřeba použít metodu na jiném místě, než kde je definována, musí existovat způsob, jak se na ni odkázat. Například funkce definovaná tímto způsobem v jednom zdrojovém souboru: int secti(int a, int b)  může být deklarována (jako prototyp funkce) a následně použita v druhém zdrojovém souboru následovně: int secti(int, int);  int obvodCtverce(int x)  Nevýhodou tohoto postupu je, že prototyp funkce musí být přítomen ve všech souborech, které funkci používají. Další nevýhodu představuje fakt, že pokud dojde ke změně typu návratové hodnoty nebo argumentů dané funkce, musí být všechny prototypy funkce také upraveny.

  Tento postup lze automatizovat použitím preprocesoru jazyka C, takže při použití prototypu je vždy použit ten nejnovější. Například v následujícím kódu je ve zvláštním souboru deklarována funkce (kompilátor nevyužívá názvy parametrů, ty jsou ale užitečné pro programátora): int secti(int a, int b); Tento soubor používá tzv. include guard, aby se zabránilo vícenásobné definici stejné funkce. Následující kód ukazuje, jak se hlavičkové soubory používají:  int obvodCtverce(int x)  Vždy když je tento kód zkompilován, dojde k vložení aktuálních prototypů funkcí, které jsou deklarovány v add.h. Tím se zabrání vzniku potenciálních kritických chyb.

  Aby nebylo nutné ve zdrojovém kódu vždy uvádět celou cestu k hlavičkovému souboru, lze překladači sdělit, že se nacházejí na standardním umístění. V tom případě je nutné uzavřít jméno souboru do znaků menší codice_2 a větší codice_3 a použít relativní cestu ke standardnímu umístění: Pokud chceme použít vlastní hlavičkové soubory, uzavírá se jméno souboru do uvozovek a relativní cesta se vztahuje k aktuálním adresáři:

  Hlavičkové soubory jsou v unixových systémech umístěny podle standardu FHS v adresáři codice_4.  V Linuxu a některých dalších systémech mohou být hlavičkové soubory i v codice_5. V případě stejně pojmenovaných hlavičkových souborů v codice_5 a codice_4 se použije hlavičkový soubor v codice_5. V adresáři codice_5 je zpravidla umístěno jen několik málo hlavičkových souborů, které překrývají jinou verzi téhož hlavičkového souboru ze základní instalace systému umístěné v codice_4.

  Hlavičkové soubory jsou umístěny v adresáři, kde je nainstalováno Microsoft Windows SDK. Případně mohou být součástí instalace vývojového prostředí (například Microsoft Visual Studio).

  Předkompilované hlavičky () jsou technika, kterou používají některé překladače jazyků C a C++, aby snížily čas potřebný ke kompilaci, jelikož hlavičkové soubory mohou obsahovat velké množství zdrojového kódu (například hlavičkový soubor codice_11). Výsledkem kompilace hlavičkových souborů jsou většinou soubory s příponou.pch nebo.gch.  Podobnou funkci zastávají prefixové hlavičky, které jsou většinou také předkompilovány a jsou připojeny ke všem zdrojovým souborům bez nutnosti explicitní deklarace.

  Máme hlavičkový soubor header.hpp psaný v jazyce C++:  A ten je inkludován souborem source.cpp:  Při prvním překladu souboru source.cpp jsou vytvořeny a uloženy do souboru codice_12 předkompilované hlavičky. Při dalším spuštění kompilátoru již nedochází k novému zkompilování codice_13, namísto toho je použit přímo codice_12.

  Některé novější programovací jazyky (jako Java) používají místo hlavičkových souborů systém jmenných schémat, které překladači dovolují najít zdrojové soubory asociované s implementací rozhraní a tříd. V tomto případě je ovšem omezena svoboda při pojmenovávání souborů. Tyto jazyky uchovávají informace o funkcích v object kódu a dovolují tak linkeru ověřit, že jsou funkce použity korektně.  COBOL a RPG IV používají způsob inkludování souborů nazývaný copybook. Copybook je vložen do zdrojového souboru podobným způsobem jako hlavičkový soubor a navíc umožňuje nahrazení určitého textu uvnitř něho jiným textem. COBOL používá pro připojení klíčové slovo codice_15 a pro nahrazení klauzuli codice_16.
Hlavičkový soubor () je v informatice speciální soubor, který se používá v některých programovacích jazycích (např. C a C++). Umožňuje vyčlenit některé části zdrojového kódu programu do zvláštních souborů, které lze opakovaně používat. Standardní knihovna jazyka C a standardní knihovna jazyka C++ tradičně deklarují své funkce v hlavičkových souborech.