隐含的函数声明' create_proc_entry'

时间:2014-11-07 19:07:43

标签: linux linux-kernel kernel

我正在尝试使用create_proc_entry()函数在/ proc下创建一个目录。当我尝试编译代码时,我收到以下错误:隐式声明函数'create_proc_entry'。

这些是我在.c文件中包含的标题:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/string.h>
#include <linux/vmalloc.h>
#include <linux/uaccess.h>

我正在尝试编译的机器上的内核版本是:3.10.33-g7954807-dirty

我是否缺少调用此方法所需的任何标头?或者我的内核版本中不推荐使用该方法吗?

1 个答案:

答案 0 :(得分:21)

/ proc filesystem已在3.10中重构,您要查找的功能已被删除,您应该使用功能齐全的proc_create函数系列。请注意,签名是不同的。

3.10版本: http://lxr.free-electrons.com/source/include/linux/proc_fs.h?v=3.10

3.9版本: http://lxr.free-electrons.com/source/include/linux/proc_fs.h?v=3.9

您可以在Linux设备驱动程序4一书中找到有关使用全功能/执行功能的更多说明,或者,如果您想要更短的解决方案,请查看此链接(https://github.com/jesstess/ldd4/blob/master/scull/main.c),您可以在其中查看{{1 }} 已经用过。您不必设置结构的所有字段。