GNU/Linux >> Znalost Linux >  >> Linux

Co přesně jsou hlavičky linuxového jádra?

Hlavičkové soubory definují rozhraní:určují, jak jsou definovány funkce ve zdrojovém souboru.

Používají se proto, aby kompilátor mohl zkontrolovat, zda je použití funkce správné, protože podpis funkce (návratová hodnota a parametry) je přítomen v hlavičkovém souboru. Pro tento úkol není nutná vlastní implementace funkce.

Totéž můžete udělat s kompletními zdroji jádra, ale nainstalujete spoustu nepotřebných souborů.

Příklad:pokud chci použít funkci

int foo(double param);

v programu nepotřebuji vědět, jak implementace foo je, jen potřebuji vědět, že přijímá jeden parametr (double ) a vrátí celé číslo.


Jak bylo uvedeno, hlavičkové soubory definují rozhraní funkcí a také struktury používané programy.

V případě hlavičkových souborů jádra jsou tyto funkce a struktury uvnitř samotného jádra.

Pokud vytváříte kompletní jádro, pak samozřejmě potřebujete kompletní zdrojové soubory, nejen hlavičky. Pokud však kompilujete ovladač zařízení nebo jiný načítatelný modul, který se propojuje s jádrem, potřebujete pouze hlavičkové soubory, takže můžete ušetřit místo tím, že nebudete instalovat úplné zdroje.

Oddělení balíčků, abyste mohli nainstalovat pouze hlavičkové soubory, je částečně historické, protože rozdíl ve využití disků býval významným faktorem, když byly disky menší. Mít celý zdroj na disku (zbytečně) by v dnešní době nepředstavovalo velké místo na disku.


Pojem hlavičkové soubory pochází z C programovací jazyk používaný při psaní linuxového jádra.

Abych to vysvětlil z velmi vysoké úrovně...

V C musíte mít předběžnou deklaraci funkce před jejím použitím. Jinými slovy, popis funkce, její parametry a jaký druh dat vrací. Je běžnou praxí vkládat všechny dopředné deklarace do jednoho souboru zvaného záhlaví . Soubory zdrojového kódu pro jiné programy pak mohou include tuto hlavičku a mít přístup ke všem funkcím ve výsledném spustitelném programu, jakmile bude zkompilován.

Soubory hlaviček Linuxu jsou všechny z .h soubory, které obsahují funkce, které poskytuje jádro Linuxu a které lze volat z jiných programů.


Linux
  1. Co dělá jádro Linux Server základním?

  2. Co jsou špinavé stránky v Linuxu

  3. Co jsou řídké soubory v Linuxu

  1. Co dělá oldconfig přesně v makefile linuxového jádra?

  2. Jaké jsou rozdíly mezi lsof a netstat na linuxu?

  3. Co je velká a nízká paměť v Linuxu?

  1. Co je to poskvrněné jádro v Linuxu?

  2. Jaké zdroje entropie používá jádro Linuxu?

  3. jaké je rozlišení jiffie v jádře Linuxu