linux驱动中read 和write 函数疑问

发布于 2022-10-15 05:56:50 字数 293 浏览 49 评论 0

本帖最后由 飘扶摇 于 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

狼亦尘 2022-10-22 05:56:50

那位好心人解释下,刚接触驱动不久!

朕就是辣么酷 2022-10-22 05:56:50

找一下那几个函数的具体应用的例子不就知道了。

月亮坠入山谷 2022-10-22 05:56:50

这个具体分配地方得自己找
一般都是内核里分配的

只有一腔孤勇 2022-10-22 05:56:50

不要嵌入得太深,不可自拔啊

雨后咖啡店 2022-10-22 05:56:50

都是用户空间的buffer.在read中用copy_to_user().在write中用copy_from_user().

陌路黄昏 2022-10-22 05:56:50

那都是用户态传下来的。

最舍不得你 2022-10-22 05:56:50

kernel包括memory management,所以应该是由kernel分配,并由memorymanagement进行动态管理(allocation,release)

莳間冲淡了誓言ζ 2022-10-22 05:56:50

buffer是指针啊。。

一片旧的回忆 2022-10-22 05:56:50

ss.jpg (37.24 KB, 下载次数: 7)

下载附件

2011-06-18 16:46 上传

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文