GNU/Linux >> Znalost Linux >  >> Linux

Použití <linux/types.h> v uživatelských programech nebo <stdint.h> v kódu modulu ovladače...záleží na tom?

  1. Je špatný nápad používat linux/*.h include v kódu uživatelského prostoru?

Ano, obvykle. Typická situace je, že byste měli používat záhlaví knihovny C (v tomto případě stdint.h a přátelé) a rozhraní s knihovnou C přes tyto typy uživatelského prostoru a nechat knihovnu, aby mluvila s jádrem prostřednictvím typů jádra.

Nejste však v typické situaci. Ve vašem případě zapisujete knihovnu ovladačů . Měli byste tedy prezentovat uživatelskému prostoru rozhraní pomocí stdint.h , ale pomocí linux/*.h hlavičky, když se připojíte k ovladači jádra.

Takže ve vašem případě je odpověď ne.

  1. Je špatný nápad používat stdint.h v kódu kernel-space?

Určitě ano.

Viz také:http://lwn.net/Articles/113349/


Linux
  1. Jak odebrat uživatele v Linuxu pomocí příkazového řádku

  2. Co je POSIX? Proč je to pro uživatele Linuxu/UNIXu důležité?

  3. Jak nainstalovat phpMyAdmin v Linuxu pomocí zdrojového kódu

  1. Jak vytvořit uživatele Linuxu pomocí Ansible

  2. Zvládneš to? Kompilace programů C v systému Linux pomocí příkazu Make

  3. Co znamená __init v kódu jádra Linuxu?

  1. Co je uživatel Linuxu?

  2. Jak kódovat modul jádra Linuxu?

  3. Na Linuxu/Unixu záleží na .tar.gz versus .zip?