首页 > 解决方案 > 尝试读取和写入 proc 时从不兼容的指针类型 [-Werror=incompatible-pointer-types] 初始化错误

问题描述

我一直在尝试实现 file_operations 结构的读写方法。以下是我的方法的声明

ssize_t Ccom_file_read_proc(char *buf, char **start, off_t offset, int count, int *eof, void *data);
ssize_t Ccom_file_write_proc(struct file *file, const char *buf, unsigned long count, void *data);

这是我将它们提供给我的文件操作结构的地方

static struct file_operations proc_fops = {
    .read = Ccom_file_read_proc,
    .write = Ccom_file_write_proc
};

这是我调用 proc_dir_entry 的地方

proc_create(raw_file_data.file_name,0,0, &proc_fops);

这是我得到的错误

error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.read = Ccom_file_read_proc,

我试图将我的读写函数的类型更改为 static int 但我仍然收到相同的结果。

标签: pointerslinux-kernelkernel-module

解决方案


推荐阅读