【发布时间】:2019-05-26 19:04:00
【问题描述】:
我正在编写一个简单的 linux 驱动程序,它可以接受通过 CLI 传输的消息,但我收到了一个不兼容的指针类型错误。
我的读取函数和 file_operations 结构:
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
根据这里的另一个帖子,读取函数的返回类型应该是ssize_t,我有,但我仍然得到这个错误。
【问题讨论】:
-
我认为
ssize_t len应该是size_t len。