понимание кода ext3
struct inode_operations ext3_dir_inode_operations = {
.create = ext3_create,
.lookup = ext3_lookup,
}
Эта структура присваивается структуре inode и далее структуре работы файловой системы.
Мой вопрос в том, что это за флаг .create
? Выполняем ли мы задание в самой структуре?
Или это какая-то другая версия C (C99, C89?) что позволяет проводить такого рода операции?
Я надеюсь, что мой вопрос ясен.
3 ответа:
Это инициализатор, обозначенный C99. Это эквивалентно, в C89:
struct inode_operations ext3_dir_inode_operations = { 0 }; ext3_dir_inode_operations.create = ext3_create; ext3_dir_inode_operations.lookup = ext3_lookup;
create
иlookup
является элементомstruct inode_operations
..create=ext3_create
означаетext3_dir_inode_operations.create=ext3_create
и так далее для других элементов структуры. Не знаю, из какого стандарта это возникло.
Взгляните на struct inode_operations