the*_*mer 17 linux kernel linux-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>
Run Code Online (Sandbox Code Playgroud)
我正在尝试编译的机器上的内核版本是:3.10.33-g7954807-dirty
我错过了调用此方法所需的任何标头吗?或者在我的内核版本中弃用了该方法?
Fel*_*tti 22
/ proc文件系统已在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一书中找到有关使用全功能/ proc功能的更多说明,或者,如果您想要更短的解决方案,请查看此链接(https://github.com/jesstess/ldd4/blob/master/scull/ main.c)你可以看到如何struct file_operations使用它.您不必设置结构的所有字段.