Hlavičkové soubory v jazyce C
Hlavičkové soubory jsou v jazyce C určeny pro všechny definice, které ve výsledném přeloženém programu nezabírají žádné místo. Jedná se obvykle o definice maker, symbolů, vkládání dalších hlavičkových souborů a podobně.
Umístění hlavičkových souborů
Standardní hlavičkové soubory jsou v Linuxu obvykle umístěny v adresáři /usr/include. Abychom nemuseli v programech vypisovat celou cestu a měnit ji v závislosti na umístění v tom kterém systému, dáme překladači na vědomí jejich standardní umístění pomocí uzavření souboru do znaků menší (<) a větší (>). Pokud je uvedena relativní cesta, vztahuje se k tomuto systémovému adresář, např:
#include <stdio.h>
#include <acl/libacl.h>
Pokud používáme vlastní hlavičkové soubory, použijeme místo znaku menší a větší uvozovky. V takovém případě jsou hlavičkové soubory standardně hledány v aktuálním adresáři:
#include "definice.h"
Příklad
Vytvoříme si vlastní hlavičkový soubor definice.h:
/*
Nas prvni hlavickovy soubor
Možná bysme měli používat češtinu
*/
// standardní include
#include <stdio.h>
Dále vytvoříme program hello.c:
#include "definice.h"
int main ()
{
printf("Ahoj\n");
}
A nakonec standardním způsobem přeložíme:
gcc -o hello hello.c
Překladač v takovém případě zařídí načtení hlavičkového souboru definice.h, ze kterého se pak načte standardní hlavičkový soubor stdio.h
Nestandardní umístění hlavičkových souborů
Pokud pracujeme s více hlavičkovými soubory a nechceme neustále uvádět v programech jejich umístění, můžeme při překladu použít parametr, který zajistí při hledání hlavičkových souborů i prohlížení námi zadaného adresáře:
gcc -I/usr/local/include/mujprogram -o hello hello.c