Linux操作系统原理与应用实验 实验三 实验四 问题总结

本文总结了Linux操作系统实验中关于文件操作算法的常见问题,包括新版本内核中Proc_ops结构的变化、宏定义头文件的查找方法。此外,还详细阐述了在Ubuntu20.04下添加自定义系统调用的步骤,包括依赖包的安装、系统调用表更新和函数声明,并分析了设备驱动中遇到的模块加载错误及其解决方案。
摘要由CSDN通过智能技术生成

本文是在进行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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值