2010-06-23 72 views
2
struct inode_operations ext3_dir_inode_operations = { 
     .create   = ext3_create, 
     .lookup   = ext3_lookup, 
} 

该结构分配给inode结构,并进一步分配给文件系统操作结构。 我的问题是这个标志是.create?我们是否在结构本身做了任务? 或者它允许这种操作的C(C99,C89?)的某个其他版本?ext3代码理解

我希望我的问题很清楚。

回答

7

这是一个C99指定的初始化程序。这相当于,在C89:

struct inode_operations ext3_dir_inode_operations = { 0 }; 
ext3_dir_inode_operations.create = ext3_create; 
ext3_dir_inode_operations.lookup = ext3_lookup; 
2

createlookupstruct inode_operations的元素。 .create=ext3_create意味着ext3_dir_inode_operations.create=ext3_create等结构的其他元素。不确定这是从哪个标准出现的。