请教:linux内核代码file_operation结构体问题!
本帖最后由 che180 于 2011-12-23 11:37 编辑file_operation ops=
{
.....
.prob=xxx, //结构体变量初始化的时候有这样的用法?谭浩强的书都翻烂了也没找到。
......
}
file_operation
{
....
(*prob)(platform *),//参数(paltform *)这是什么用法?不是用platform定义一个参数吗?为什么只有*没有变量? 现在谭浩强的书都翻成渣了也没找到。
...
} 关于第一个问题参考:http://bbs.chinaunix.net/thread-3566578-1-1.html
(*probe)(struct platform_device *pdev) 吧?定义一个函数指针,platform是linux驱动中的一种虚拟总线机制,对应的有platform_device和platform_driver。函数声明时可以只指定形参数据类型而不用指明形参变量名,所以上述声明为(*probe)(struct platform_device *)也是可以的 谢谢,第一个问题明白了! 谢谢,明白,两个问题都解决了! file_operation
{
....
(*prob)(platform *),
...
}
兄弟, 看下函数指针,你就懂了。
见多就不怪了 :wink:我也明白了,谢谢各位!!! 谭大爷你好,谭大爷再见!
file_operation{
....
}
你用到哪个操作,就给那个操作赋值,赋的值等于你的处理函数名.
页:
[1]