2010-06-23 132 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等結構的其他元素。不確定這是從哪個標準出現的。