在简单的Linux设备驱动程序代码中,我找到了以下功能:
static int my_open(struct inode *i, struct file *f)
{
printk(KERN_INFO "Driver: open()\n");
return 0;
}
这取自here。
有人可以在inode
解释我这是什么意思吗?为什么这个函数static
?
答案 0 :(得分:1)
该函数是static
,因为编写器不希望从驱动程序代码外部看到该函数,即您无法直接链接它。它很可能通过一些init()
函数暴露出来,它将函数指针放在一个“方法”表中,如果我还记得Linux驱动程序的外观。
struct inode
值描述磁盘上的文件或目录。