“ __u8 b [16]”和“ unsigned char uuid_t [16]”

时间:2019-03-22 16:16:06

标签: c linux linux-kernel

以下构造之间是否有任何区别

1。

#define UUID_SIZE 16

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

2。

typedef unsigned char uuid_t[16];

在我未经训练的眼睛中,他们似乎在说同样的话。如果不是这样,请有人可以启发我区别吗?如果它们相同,是否有理由优先选择一个?

(背景是第一个来自Linux内核,第二个来自我试图加载到内核的模块。由于uuid_t上的typedef冲突,模块无法加载。我希望第二个与第一个相同,我可以从模块中删除该行,否则我需要在任何地方重命名该行。

0 个答案:

没有答案