Linux内核模块 - 冗余包括

时间:2016-08-12 21:49:56

标签: c linux kernel

有一些教程#include以下标题

#include <linux/kernel.h>
#include <linux/init.h>

然而,没有它们,该模块工作得很好;仅包括linux/module.h两者是否必要?

1 个答案:

答案 0 :(得分:1)

正如stark所说,在某些特定情况下,它们可能是不必要的。如果您在某些教程中找到它,可能是因为作者只是复制/粘贴其标题以获得一些时间。

查看module.h

#include <linux/init.h>
#include <linux/kobject.h>

kobject.h

#include <linux/kernel.h>

但是,应该删除未使用的#include,因为它们可能会产生一些负面影响,例如增加编译时间和内存使用量。

名为Include what you use的工具可以帮助人们跟踪未使用的#include。