C Linux驱动程序写入,文件操作不兼容指针类型错误
我正在编写一个简单的linux驱动程序,该驱动程序将接受通过CLI传输的消息,并收到一个不兼容的指针类型错误 我的读取函数和文件操作结构:C Linux驱动程序写入,文件操作不兼容指针类型错误,c,pointers,C,Pointers,我正在编写一个简单的linux驱动程序,该驱动程序将接受通过CLI传输的消息,并收到一个不兼容的指针类型错误 我的读取函数和文件操作结构: ssize_t driver_read(struct file *filep, char *buffer, ssize_t len, loff_t *offset) { printk(KERN_INFO "Write: %s\n", message); return 0; } struct file_operations fops = {
ssize_t driver_read(struct file *filep, char *buffer, ssize_t len, loff_t *offset) {
printk(KERN_INFO "Write: %s\n", message);
return 0;
}
struct file_operations fops = {
write: driver_write,
read: driver_read
};
当我试图编译代码时,出现以下错误:
error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
read: driver_read
根据这里的另一篇文章,read函数的返回类型应该是ssize\u t,我有,但我仍然得到这个错误。尝试将原型的参数更改为:
ssize_t len
为此:
size_t len
我认为
ssize\t len
应该是size\t len
。