__put_user()和put_user()区别

hhuohd2 2012-03-28 07:24:13
如题,还有比如
__get_user()和 get_user()
__add_wait_queue() 和add_wait_queue()
还能看到一些其他的这类函数,只是前面多了个双下划线,请问这有什么差别呢??
...全文
483 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
deep_pro 2012-03-28
  • 打赏
  • 举报
回复
xxxx 会去调用 __xxxx
一般有几种情况要分开写
1、
xxxx 是统一的接口,而__xxxx 是具体cpu架构下的实现,很可能有多个__xxxx,当然最终只有一个__xxxx被编译

2、xxxx 检验一下参数或加保护后调__xxxx ,这类似一种编码习惯,能减少bug

3、xxxx的参数或返回值有有更改,为了低版本的代码不用修改,实现一个__xxxx做过渡。

没有定发,也没有什么难度,看代码就知道了
帅得不敢出门 2012-03-28
  • 打赏
  • 举报
回复
具体可对比下源码最清楚了。
帅得不敢出门 2012-03-28
  • 打赏
  • 举报
回复
不加__的get_user多了个检查地址空间的有效性。

add_wait_queue 可能是调用了__add_wait_queue()

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧