"__u8 b [16]" против "unsigned char uuid_t [16]" - PullRequest
0 голосов
/ 22 марта 2019

Есть ли разница между следующими конструкциями

1

#define UUID_SIZE 16

typedef struct {
  __u8 b[UUID_SIZE];
} uuid_t;

2

typedef unsigned char uuid_t[16];

На мой неопытный глаз, кажется, они говорят то же самое. Если нет, пожалуйста, кто-нибудь может объяснить мне разницу? Если они одинаковые, есть ли причина отдавать предпочтение одному другому?

(Справочная информация здесь первая из ядра Linux, а вторая из модуля, который я пытаюсь загрузить в ядро. Модуль не загружается из-за конфликта typedef на uuid_t. Я надеюсь, что если второй такой же, как первый, я могу просто удалить строку из модуля, иначе мне нужно будет переименовать ее везде).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...