Ядро Linux имеет типы __be32
, __be16
и т. Д., Определенные в ядре 'include/uapi/linux/types.h
.
Однако это просто typedefs для __u32
,' __u16 'и тому подобное.Кроме того, если sparse
используется для анализа кода на C, они добавляют gcc
определенный флаг __bitwise
.
Насколько я понимаю, типы __be * или __le * могут использоваться для зависимых переменных с прямым порядком байтов.Но они служат скорее как средство аннотации, просто чтобы показать, что мы работаем с объектом с прямым или прямым порядком байтов.Это правильное предположение?