Как указано stark, они, вероятно, не нужны в некоторых конкретных случаях. Если вы найдете его в некоторых учебниках, возможно, это потому, что писатель просто копирует/вставляет свои заголовки, чтобы получить некоторое время.
Глядя на module.h
:
#include <linux/init.h>
#include <linux/kobject.h>
и kobject.h
:
#include <linux/kernel.h>
Однако, неиспользованные #include должны быть удалены, поскольку они могут иметь некоторые негативные эффекты, как увеличение время компиляции и использование памяти.
Инструмент под названием Include what you use может помочь людям отслеживать неиспользованные #includes.
Часто есть зависимости между заголовочными файлами, поэтому 'module.h' включает в себя другие файлы заголовков. Но вы не должны зависеть от него и включать все необходимые заголовки. – Barmar
Если он компилируется без них, то они не нужны. – stark