linux驱动中read 和write 函数疑问
本帖最后由 飘扶摇 于 2011-05-26 23:41 编辑
ssize_t xxx_read(struct file *filp, char *buffer, size_t count, loff_t *ppos);
ssize_t xxx_write(struct file *filp,const char *buffer, size_t count);
上面两个函数中的"buffer" 是什么时候分配出来的,分配在什么地方,是内核分配的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
那位好心人解释下,刚接触驱动不久!
找一下那几个函数的具体应用的例子不就知道了。
这个具体分配地方得自己找
一般都是内核里分配的
不要嵌入得太深,不可自拔啊
都是用户空间的buffer.在read中用copy_to_user().在write中用copy_from_user().
那都是用户态传下来的。
kernel包括memory management,所以应该是由kernel分配,并由memorymanagement进行动态管理(allocation,release)
buffer是指针啊。。
ss.jpg (37.24 KB, 下载次数: 7)
下载附件
2011-06-18 16:46 上传