Hlavičkové soubory v jazyce C

Z Milan Kerslager
Přejít na: navigace, hledání

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