> возникает непонятный трабл: error C2054: expected '(' to > follow 'inline' > > static inline struct reiserfs_inide_info* REISERFS_I(const > struct inode *inode) > { > return container_of(inode, struct reiserfs_inode_info, > vfs_inode); > } Дык нету в стандартном C слова inline. MSVC распознает его как идентификатор и пытается распознать объявление прототипа функции. Вот и ждет скобку. Или компили как C++ или используй MSVC-шное расширение __inline (или __forceinline), которое работает и в C.
> и ещё вопросик. Зачем двоеточия нужны?? > > struct offset_v2 { > #ifdef __LITTLE_ENDIAN > __u64 k_offset:60; > __u64 k_type: 4; > #else > __u64 k_type: 4; > __u64 k_offset:60; > #endif > }_attribute_(_packed_); > > интуитивно, вроде, размер структуры 8 байт, только поделили > её на две части 7.5 и 0.5 байта.. > забыл только посмотреть как всё это дальше используется.. Дык это т.н. битовые поля. Именно так как интуитивно понял они и используются.
интуитивно, вроде, размер структуры 8 байт, только поделили её на две части 7.5 и 0.5 байта..
забыл только посмотреть как всё это дальше используется..
Дык нету в стандартном C слова inline. MSVC распознает его...02.11.04 15:47 Автор: amirul <Serge> Статус: The Elderman
> возникает непонятный трабл: error C2054: expected '(' to > follow 'inline' > > static inline struct reiserfs_inide_info* REISERFS_I(const > struct inode *inode) > { > return container_of(inode, struct reiserfs_inode_info, > vfs_inode); > } Дык нету в стандартном C слова inline. MSVC распознает его как идентификатор и пытается распознать объявление прототипа функции. Вот и ждет скобку. Или компили как C++ или используй MSVC-шное расширение __inline (или __forceinline), которое работает и в C.
> и ещё вопросик. Зачем двоеточия нужны?? > > struct offset_v2 { > #ifdef __LITTLE_ENDIAN > __u64 k_offset:60; > __u64 k_type: 4; > #else > __u64 k_type: 4; > __u64 k_offset:60; > #endif > }_attribute_(_packed_); > > интуитивно, вроде, размер структуры 8 байт, только поделили > её на две части 7.5 и 0.5 байта.. > забыл только посмотреть как всё это дальше используется.. Дык это т.н. битовые поля. Именно так как интуитивно понял они и используются.
а почему gcc компилит?? или там стандарты другие?05.11.04 17:20 Автор: zelych Статус: Member