给定函数头
,这是如何工作的ssize_t memory_read(struct file *filp, char *buf, size_t count, loff_t *f_pos);
在结构中使用指定的标识符,在这种情况下读取后跟函数名称,我明白这与.read = memory_read相同。但是我不确定它的用途。这是否提供了一个方法调用代码中其他地方的memory_read函数?
struct file_operations memory_fops = {
read: memory_read,
write: memory_write,
open: memory_open,
release: memory_release
};
答案 0 :(得分:2)
是的,这个结构包含一组函数指针,这些函数指针将在程序的其他地方使用。寻找类似的东西:
memory_fops.read(......)
等等。
答案 1 :(得分:0)
不应再使用版本“name:value”。这是一个gcc扩展,它已经过时,C99使用“.name = value”形式。如果这是Linux驱动程序的一个片段,您可能会坚持使用它,但是,如果样式指南要求它。否则我会将其更改为符合标准的版本。