gpt4 book ai didi

linux - 函数 'create_proc_entry' 的隐式声明

转载 作者:IT王子 更新时间:2023-10-29 00:21:57 28 4
gpt4 key购买 nike

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

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

#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

我是否缺少调用此方法所需的任何 header ?或者在我的内核版本中是否弃用了该方法?

最佳答案

/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 Device Drivers 4 一书中找到关于使用全功能/proc 函数的更多解释,或者,如果您想要更简短的解决方案,请查看此链接 ( https://github.com/jesstess/ldd4/blob/master/scull/main.c ),您可以在其中查看 struct file_operations 已被使用。您不必设置结构的所有字段。

关于linux - 函数 'create_proc_entry' 的隐式声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com