Linux驱动函数中,release究竟有什么作用?

看过好多驱动了,都有但是没什么左右一个打印函数而已.但是应该有它存在的意义吧?... 看过好多驱动了 ,都有 但是没什么左右 一个打印函数而已 .但是应该有它存在的意义吧 ? 展开
 我来答
瀚漠
推荐于2017-10-06 · 专注C语言发开,Linux系统相关
瀚漠
采纳数:309 获赞数:1286

向TA提问 私信TA
展开全部
不知道你说的什么驱动,不管是哪种,都会有一个operations的结构体,像字符设备驱动中有个:
struct file_operations test_ops = {
.owner = THIS_MODULE,
.open = test_open,
.release = test_release,
.read = test_read,
.write = test_write,
.ioctl = test_ioctl,
};
上面是它的用法,之后分别实现test_open.....等函数即可,这里的作用也很明显,对于应用层,当使用open函数打开这个设备时,最终调用的就是test_open函数,用户层的read函数最终调用的就是test_read函数,当然对于块设备之类的也就不需要这个open函数了(不是依靠open操作的)。
就不一一的讲了,release对应的就是close函数,对某些设备,当用户使用close时,最终会调用test_release函数,实际上open和release不需要具体实现什么,一般会作为一个计数,就是有多少人次访问该设备,也可以通过open和release实现同一时间只能有一个用户访问该设备等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式