понимание кода ext3 - PullRequest
       7

понимание кода ext3

2 голосов
/ 23 июня 2010
struct inode_operations ext3_dir_inode_operations = {
        .create         = ext3_create,
        .lookup         = ext3_lookup,
}

Эта структура присваивается структуре inode и далее структуре работы файловой системы. У меня вопрос, что это за флаг .create? Делаем ли мы назначение в самой структуре? Или это какая-то другая версия C (C99, C89?), Которая допускает такую ​​операцию?

Надеюсь, мой вопрос понятен.

Ответы [ 3 ]

7 голосов
/ 23 июня 2010

Это инициализированный 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 голосов
/ 23 июня 2010

create и lookup является элементом struct inode_operations. .create=ext3_create означает ext3_dir_inode_operations.create=ext3_create и т. Д. Для других элементов структуры. Не уверен, из какого стандарта это возникло.

0 голосов
/ 23 июня 2010

Посмотрите на struct inode_operations

...