“本文是在进行Linux实验三和实验四所遇到的问题或学到的小知识进行总结(以调通程序为内容导向),问题的解决方法或许不难,也都能搜到,但是如果笔者自己总结下来能够节省很多人去搜索解决方法的繁琐步骤,节省大家的时间。”
实验三 文件操作算法
①:新版本带来系统定义结构变换:
如上图所示,报错信息为:passing argument 4 of’proc_create’from incompatible pointer type,经查阅得知:该结构在新版本的内核中已经不再使用。
Proc_ops结构如下:
static struct proc_ops my_fops={
.proc_open = my_proc_open,
.proc_release = single_release,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_write = my_proc_write
};
来源:
来自stackoverflow
来自https://lore.kernel.org/
注意,上方结构中seq_read,seq_lseek等宏定义在使用时需要引入头文件
②:宏定义/函数头文件未添加
#Inlucde<linux/seq_file>。
经过查阅,头文件为:<linux/seq_file.h>
那么我是如何查阅到这个宏定义/函数的呢?
Linux下没有包含头文件&#x